#include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { ll k; cin >> k; int n; cin >> n; vector p(n), q(n); for (int i = n; --i >= 0;) { int b = n - i; p[i] = k % b; k /= b; } vector o(n, 0); for (int i = 0; i < n; i++) { int t = p[i]; for (int j = 0; j < n; j++) { if (o[j] == 0 && t-- == 0) { o[p[i] = j] = 1; break; } } } for (int i = 0; i < n; i++) { q[p[i]] = i; } o.assign(n, 0); for (int i = 0; i < n; i++) { int t = 0; for (int j = q[i]; --j >= 0;) { t += o[j] == 0; } o[q[i]] = 1; q[i] = t; } for (int i = 0; i < n; i++) { int b = n - i; k *= b; k += q[i]; } cout << k << endl; return 0; }