#include #include using namespace std; int n, a[13][5000]; void reverse(int l, int k) { int j = pow(2, k - 1); int i = j + 1; while (j > 0) { a[l][i] = a[l][j]; j--; i++; } } void complete(int k) { int size = pow(2, k - 1); for (int i = 1; i <= size; ++i) { a[k][i] = 0; } for (int i = size + 1; i <= size * 2; ++i) { a[k][i] = 1; } } int main() { a[1][1] = 0; a[1][2] = 1; cin >> n; for (int k = 2; k <= n; ++k) { for (int i = 1; i < k; ++i) reverse(i, k); complete(k); } for (int j = 1; j <= pow(2, n); ++j) { for (int i = 1; i <= n; ++i) { cout << a[i][j]; } cout << '\n'; } }