#include using namespace std; using ll = long long; using Vl = std::vector ; void calc(ll N, int i, Vl& A, int up = (int)(1e8 + 6)) { if (N == 0) { return; } if (i == 1) { A.push_back(N); return; } ll p = 1, s = 1; ll n = i; while ((s <= N) && (n < up)) { p = s; s *= (n + 1); s *= (n - i + 1); n ++; } n --; A.push_back(n); calc(N - p, i-1, A, n); return; } int main () { int N, i; cin >> N >> i; Vl ans; calc(N, i, ans); for (int i = 0; i < ans.size(); i ++) { cout << (i ? " " : "") << ans[i]; } cout << endl; }