#include <cstdio>#include <iostream>using namespace std;int cc[20] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024};int a[1050][1050], N;void print(int n){ int i, j; for(i = 1; i <= cc[n]; i ++){ for(j = 1; j <= cc[n]; j ++) cout<<a[i][j]<<" "; cout<<endl; }}void solve(int n, int p){ int i, j; if(n == 0) return; for(i = 1; i <= cc[n - 1]; i ++) for(j = 1; j <= cc[n - 1]; j++) a[i + p][j + p] = 0; solve(n - 1, p + cc[n - 1]); for(i = 1; i <= cc[n - 1]; i ++) for(j = 1; j <= cc[n - 1]; j ++){ a[p + cc[n - 1] + i][j + p] = a[i + p][p + cc[n - 1] + j] = a[p + cc[n - 1] + i][p + cc[n - 1] + j]; } return ;}int main(){ int n; scanf("%d", &N); n = N; for(int i = 1; i <= cc[n]; i ++) for(int j = 1; j <= cc[n]; j ++) a[i][j] = 1; solve(n, 0); print(n); return 0;}