#include <stdio.h>
void forgive(int a[][1024],int x,int y,int size)
{
if(size==1)
{
a[x][y]=0;
return;
}
for(int i=0;i<size/2;i++)
{
for(int j=0;j<size/2;j++)
{if(x+i<1024&&y+j<1024)
{a[x+i][y+j]=0;}
}}
forgive(a,x+size/2,y,size/2);
forgive(a,x,y+size/2,size/2);
forgive(a,x+size/2,y+size/2,size/2);
}
int main(void)
{
int n=0;
scanf("%d",&n);
if(n<0||n>10)
{
return 1;
}
int size=1;
for(int i=0;i<n;i++)
{
size*=2;
}
if(size>1024)
{
return 1;
}
int a[1024][1024];
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
a[i][j]=1;
}
}
forgive(a,0,0,size);
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}