/// Preset de infoarena
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
typedef long long ll;
ll nr_inv;
int n, v[100005];
int main()
{
fin >> n >> nr_inv;
v[n] = 1;
int poz = n - 1;
while(nr_inv >= (n - poz) && poz >= 1)
{
v[poz] = v[poz + 1] + 1;
nr_inv -= n - poz;
poz--;
}
int maxi = v[poz + 1];
v[poz] = v[n - nr_inv] + n - maxi - 1;
for(int i = poz + 1; i <= n; i++)
v[i] += n - maxi;
for(int i = n - nr_inv + 1; i <= n; i++)
v[i]--;
for(int i = 1; i < poz; i++)
v[i] = i;
for(int i = 1; i <= n; i++)
fout << v[i] << ' ';
return 0;
}