/* -*- coding: utf-8 -*- * * 688.cc: No.688 E869120 and Constructing Array 2 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 30; /* typedef */ /* global variables */ /* subroutines */ /* main */ int main() { int k; scanf("%d", &k); int n, m; bool found = false; for (n = 2; n <= MAX_N; n++) { for (m = 2; m <= n; m++) { int d = m * (m - 1) / 2 * (1 << (n - m)); if (d == k) { found = true; break; } } if (found) break; } //printf("n=%d, m=%d\n", n, m); for (int i = 0; i < n; i++) { if (i) putchar(' '); printf("%d", i < m ? 1 : 0); } putchar('\n'); return 0; }