#include using namespace std; typedef long long ll; #define rep(i,n) for(int i=0;i<(n);i++) #define reps(i,f,n) for(int i=(f);i<(n);i++) ll ncr(ll n, ll r) { if (r == 0) return 1ll; ll sum = 1; for (int i = n - r + 1; i <= n; ++i) { sum *= i; } for (int i = 1; i <= r; ++i) { sum /= i; } return sum; } int main(int argc, char const *argv[]) { int n; cin >> n; for (int i = 2; i <= 30; ++i) { for (int j = 0; j <= i - 2; ++j) { int d0 = j, d1 = i - j; // printf("%d %d\n", d0, d1); ll ans = 0; for (int k = 0; k <= d0; ++k) { ans += ncr(d0, k); } // printf("ans0 %lld %lld\n", ans, ncr(d1, 2)); ans *= ncr(d1, 2); // printf("ans %lld\n", ans); if (ans == n) { cout << d0 + d1 << endl; rep(d, d0) cout << "0 "; rep(d, d1) cout << "1 "; cout << endl; goto END; } } } END: return 0; }