#include using namespace std; vector ans; int main() { // assert(freopen("recycled_problem.in", "r", stdin)); // assert(freopen("recycled_problem.out", "w", stdout)); cin.sync_with_stdio(false); int K; cin >> K; int b = 0; while ((1 << b) - 1 < K) { b++; } int val = (1 << b) - 1; for (int i = val - K + 1; i <= val; i++) { ans.push_back(i); } cout << (int) ans.size() << endl; for (int x : ans) { cout << x << ' '; } cout << endl; return 0; }