#include using namespace std; const long long oo = LLONG_MAX / 2; int main(){ long long n, k; cin >> n >> k; k--; vector factorial(n); factorial[0] = 1; for(int i=1;i i) factorial[i] = factorial[i-1] * i; else factorial[i] = oo; } vector ans = {0}; // Prepend 0 to the answer to make life easier... vector perm = {0}; vector used(n); for(int i=0;i > possible; for(int j=1;j 1 ? " " : "") << ans[i]; cout << endl; // Sanity check... for(int i=1;i