#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define rep(i, n) for (int i = 0; i < (n); i++) #define coutf(f) cout << fixed << setprecision(f) #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() int main() { ll n, s; cin >> n >> s; vector ans; for (ll i = n; i >= 1; i--) { if (s >= i) { ans.push_back(i); s -= i; } } reverse(all(ans)); cout << ans.size() << endl; rep(i, ans.size()) cout << ans[i] << endl; return 0; }