#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c> N >> D >> K; ll M = 1; vll ans; for(int i=1;i<=K;i++){ ll buy = -1; if(i==K){ if(M<=D&&D<=N){ ans.push_back(D); break; } err(); } while(M<=N){ //今Mを買うと最小M+1~M+(k-i) 最大 N-(k-i)+1 ~ N ll MIN = S(M+K-i) - S(M); ll MAX = S(N) - S(N-(K-i)); if(MIN<=(D-M)&&(D-M)<=MAX){ buy = M; break; } M++; } if(buy==-1) err(); ans.push_back(M); D -= M; M++; } print(ans); }