#include <cstdio> using namespace std; const int MAXN = 1025,MAXM=11; int a[MAXN][MAXN]; int m; int main() { scanf("%d", &m); int n=1<<m,k=1, half=1; ___(1)___; while(k <= m) { for (int i= 0; i<=half; i++) { for (int j = 0; j< half; j++) { a[i][___(2)___]=___(3)___; } } for (int i= 0; i< half; i++) { for (int j = 0; j< half; j++) { a[i+half][j] =___(4)___; a[i+half][j+half] = a[i][j]; } } ___(4)___; k++; } for (int i= 0; i< n; i++) { for (int j= 0; j<n; j++) { printf(" %d ",a[i][j]); } poutchar('\n'); } return 0; }