#include <bits/stdc++.h>
using namespace std;
bool st(long long int n) {
  long long int kol = 0;
  for (int d = 0; d < 30; d++) {
    if ((n & (1ll << d)) != 0) {
      kol++;
    }
  }
  if (kol == 1) {
    return true;
  } else {
    return false;
  }
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  long long int n, m;
  cin >> n;
  long long int kol = 0;
  long long int k = 1;
  long long int chet = 1;
  for (int d = 0; d < 30; d++) {
    if ((n & (1ll << d)) != 0) {
      chet = d;
    }
  }
  if (n % 2 == 0) {
    vector<long long int> ans;
    long long int p = 0;
    for (int d = 0; d <= chet; d++) {
      if ((n & (1ll << d)) != 0) {
        ans.push_back(d);
        n ^= ((1ll << (d)) - 1);
        if (st(n + 1)) {
          break;
        }
        n++;
      }
    }
    cout << ans.size() * 2 - 1 << "\n";
    for (int d = 0; d < ans.size(); d++) {
      cout << ans[d] << " ";
    }
  } else {
    vector<long long int> ans;
    long long int kol1 = 0;
    for (int d = chet; d >= 0; d--) {
      if ((n & (1ll << d)) == 0) {
        ans.push_back(d + 1);
        n ^= ((1ll << (d + 1)) - 1);
        n++;
      }
    }
    cout << ans.size() * 2 << "\n";
    for (int d = 0; d < ans.size(); d++) {
      cout << ans[d] << " ";
    }
  }
}
