#include #include using namespace std; int main(){ int N; cin >> N; vector> ans((1 << N), vector((1 << N), 0)); if (N == 1){ cout << -1 << endl; } else{ int now = 0; for (int i = 0; i < (1 << (N - 1)); i++){ for (int j = 0; j < (1 << (N - 1)); j++){ ans[i + (1 << (N - 1))][j + (1 << (N - 1))]++; if (i == j){ ans[i][j + (1 << (N - 1))]++; } else{ ans[i + (1 << (N - 1))][j]++; } ans[i][j] += now; ans[i + (1 << (N - 1))][j + (1 << (N - 1))] += now; ans[i][j + (1 << (N - 1))] += (now + (1 << (2 * N - 1))); ans[i + (1 << (N - 1))][j] += (now + (1 << (2 * N - 1))); now += 2; } } for (int i = 0; i < (1 << N); i++){ for (int j = 0; j < (1 << N); j++){ cout << ans[i][j]; if (j != (1 << N) - 1) cout << " "; } cout << "\n"; } } }