#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int INF = 0x3f3f3f3f; const double EPS = 0.000000001; const double PI = 3.141592653589793; const long long LLINF = 99999999999999999LL; const int MAX_N = 100005; const int MOD = 1000000007; const long long MAX_VAL = 200000000; int N; int v[MAX_N], A[1002][1002]; int main() { /* #ifndef ONLINE_JUDGE freopen("data.in", "r", stdin); #endif */ cin >> N; int n = 0; for(int i = 1; i <= N; i *= 2) v[++n] = i; cout << n << "\n"; for(int i = 1; i <= n; ++i) cout << v[i] << " "; return 0; }