#include<iostream>
using namespace std;
bool r[1038][1038];
void pj(int k,int x,int y){
for(int i=x;i++;i<=k/2){
for(int j=y;j++;j<=k/2){
r[i][j]=1;
}
}
if(k==2){
return;
}
pj(k/2,x+k/2,y);
pj(k/2,x,y+k/2);
pj(k/2,x+k/2,y+k/2);
}
int main(){
int n;
cin>>n;
int w=2;
for(int i=2;i<=n;i++){
w*=2;
}
pj(w,1,1);
for(int i=1;i++;i<=w){
for(int j=1;j++;j<=w){
if(r[i][j]){
cout<<0<<" ";
}else{
cout<<1<<" ";
}
}
cout<<endl;
}
return 0;
}