1 #include <bits/stdc++.h>
2 #define _for(i,a,b) for(int i = a;i < b;i ++)
3 #define maxn 20
4 #define INF 0x3f3f3f3f
5 using namespace std;
6
7 int n,num;
8 int b[maxn][maxn];
9 int a[maxn];
10 void db()
11 {
12 b[0][0] = 1;
13 _for(i,1,15)
14 {
15 b[i][0] = 1;
16 _for(j,1,i)
17 {
18 b[i][j] = b[i-1][j] + b[i-1][j-1];
19 }
20 b[i][i] = 1;
21 }
22 }
23 int main()
24 {
25 scanf("%d%d",&n,&num);
26 memset(a,0,sizeof(a));
27 _for(i,0,n)
28 a[i] = i+1;
29 int flag = 0;
30 db();
31 do
32 {
33 int sumt = 0;
34 _for(i,0,n)
35 {
36 sumt += b[n-1][i]*a[i];
37 if(sumt>num)
38 break;
39 }
40 if(sumt==num)
41 {
42 flag = 1;
43 break;
44 }
45 }
46 while(next_permutation(a,a+n));
47 if(flag)
48 {
49 _for(i,0,n)
50 printf("%d ",a[i]);
51 }
52 return 0;
53 }