#include<stdio.h>
#include<math.h>
int name(int a[][128], int sum)
{
int i, j;
for(i=0;i<sum;i++)
for (j = 0; j < sum; j++)
{
a[i][j] = 0;
}
if ((sum / 2) != 0)
{
name(&a[0][sum], sum / 2);
name(&a[sum][sum], sum / 2);
name(&a[sum][0], sum / 2);
}
return 0;
}
int main()
{
int a[128][128];
int n,i,j;
scanf("%d", &n);
int sum = pow(2, n);
for(i=0;i<sum;i++)
for (j = 0; j < sum; j++)
{
a[i][j] = 1;
}
if((sum/2)!=0)
name(a, sum/2);
for (i = 0; i < sum; i++)
{
for (j = 0; j < sum; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}