#include using namespace std; bool b[100100]; int n; int ans[100100],o; bool check(int a, int b) { int k = 0; for(int i = 0 ; i < n; i++) { if((a%2) != (b%2)) k++; a/=2; b/=2; } if(k <= 1) return 1; return 0; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; ans[0] = 0; o = 1; b[0] = 1; for(int i = 0; i < (1 << n); i++) { int last = 0; for(int j = 0; j < (1 << n); j++) { if (!b[j] && check(ans[o-1], j)) { last = j; } } ans[o] = last; b[last] = 1; o++; } for(int i = 0; i < (1 << (n)); i++) { for(int j = 0 ; j < n; j++) { cout << ans[i]%2; ans[i] /= 2; } cout << "\n"; } }