#include using namespace std; #include using namespace atcoder; using ll = long long; using vi = vector; using vvi = vector>; using pii = pair; #define rep(i, n) for (int i = 0; i < (int)(n); ++i) #define repr(i, n) for (int i = (int)(n - 1); i >= 0; --i) int main() { int n; ll s; cin >> n >> s; vi ret; for (int k = n; k > 0; k--) { if (s >= k) { ret.push_back(k); s -= k; } } reverse(ret.begin(), ret.end()); int m = ret.size(); cout << m << '\n'; rep(i, m) cout << ret[i] << (i < m - 1 ? ' ' : '\n'); return 0; }