#include <bits/stdc++.h>
using namespace std;
int n, m, id, t, a[100005];
bool p;
int main() {
  scanf("%d", &n);
  m = n;
  int len = 0;
  while (m) {
    len++;
    m = m / 2;
  }
  m = len;
  for (int i = m; i; i--)
    if ((n & (1 << (i - 1))) == 0) {
      id = i;
      break;
    }
  p = false;
  for (int i = id; i; i--)
    if ((n & (1 << (i - 1))) > 0) {
      p = true;
    }
  while (id) {
    if (p) {
      n = n ^ ((1 << id) - 1);
      a[++t] = id;
    } else {
      n = n ^ ((1 << (id - 1)) - 1);
      a[++t] = id - 1;
    }
    n++;
    id = 0;
    for (int i = m; i; i--)
      if ((n & (1 << (i - 1))) == 0) {
        id = i;
        break;
      }
    p = false;
    for (int i = id; i; i--)
      if ((n & (1 << (i - 1))) > 0) {
        p = true;
        break;
      }
  }
  cout << t * 2 << endl;
  for (int i = 1; i <= t; i++) printf("%d ", a[i]);
  return 0;
}
