#include <fstream>
#include <iostream>
#include <algorithm>
#include <set>
#include <queue>
#include <unordered_map>
#include <climits>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
const int LMAX = 50005;
int main() {
int n, k, i, x;
fin>>n>>k;
x = 1;
i = 2;
while (i <= n && (n - i)*(n - i + 1)/2 >= k) {
fout<<i - 1<<" ";
i++;
}
if (i <= n) {
x = i - 1 + k - (n - i)*(n - i + 1)/2;
fout<<x<<" ";
k = x;
x = n;
while (i <= n) {
if (k == x) x--;
fout<<x<<" ";
x--;
i++;
}
}
else fout<<i;
fin.close();
fout.close();
return 0;
}