#include <bits/stdc++.h>

using namespace std;

vector<int> 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;
}