#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,ans[1025][1025];
int sm(int k,int x,int y){
if(k==1){
ans[x][y]=0;
return 0;
}else{
for(int i=x;i<x+pow(2,k-1);i++){
for(int j=y;j<y+pow(2,k-1);j++){
ans[i][j]=0;
}
}
sm(k-1,x+pow(2,k-1),y);
sm(k-1,x+pow(2,k-1),y+pow(2,k-1));
sm(k-1,x,y+pow(2,k-1));
}
}
int main(){
for(int i=0;i<1025;i++){
for(int j=0;j<1025;j++){
ans[i][j]=1;
}
}
scanf("%d",&n);
sm(n,0,0);
for(int i=0;i<pow(2,n);i++){
for(int j=0;j<pow(2,n);j++){
printf("%d ",ans[i][j]);
}
printf("\n");
}
return 0;
}