#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
using vi = vector<int>;
using vvi = vector<vector<int>>;
using pii = pair<int, int>;
#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;
}