#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long n,m[1025][1025],x=0,y=0,d,e;
void zf(long long a,long long b,long long c)
{
if(a==2)
{
m[b][c]=0;
return;
}
d=b;
e=c;
while(b<d+a/2)
{
c=0;
while(c<e+a/2)
{
m[b][c]=0;
c++;
}
b++;
}
zf(a/2,d,e+a/2);
zf(a/2,d+a/2,e);
zf(a/2,d+a/2,e+a/2);
}
int main()
{
scanf("%lld",&n);
while(x<pow(2,n))
{
y=0;
while(y<pow(2,n))
{
m[x][y]=1;
y++;
}
x++;
}
x=0;
y=0;
zf(pow(2,n),x,y);
while(x<pow(2,n))
{
y=0;
while(y<pow(2,n))
{
cout<<m[x][y]<<" ";
y++;
}
cout<<endl;
x++;
}
return 0;
}
求助!大佬们!!!