#include <bitset> #include <iostream> #include <set> using namespace std; bitset <13> bs; int n, c, a; set <int> s; int main () { cin >> n; for (int i = n - 1; i >= 0; --i) cout << bs[i]; cout << '\n'; s.insert(a); while (s.size() < (1<<n)) { for (int i = 0; i <= n - 1; ++i) { if (!bs[i] && s.find(a + (1<<i)) == s.end()) { a+=(1<<i); s.insert(a); bs[i] = 1; break; } else if (bs[i] && s.find(a - (1<<i)) == s.end()) { a-=(1<<i); s.insert(a); bs[i] = 0; break; } } for (int i = n - 1; i >= 0; --i) cout << bs[i]; cout << '\n'; } return 0; }