#include<bits/stdc++.h>
using namespace std;
const int MAXN=50005;
int a[MAXN]={};
typedef long long ll;
int main()
{
ll n,m;cin>>n>>m;//貌似改成int就有一半过不去,玄学
ll head=1;
ll rear=n;
for(int i=1;i<=n;i++){
int t=(n-i)*(n-i-1)/2;//最大逆序数计算公式
if(t>=m){
a[head++]=i;
}else{
m=m-(rear-head);//移位之后
a[rear--]=i;
}
}
for(int i=1;i<=n;i++){
if(i==1) cout<<a[i];
else cout<<' '<<a[i];
}
return 0;
}