#include <iostream>
#include <cstdio>
using namespace std;
int ans[1025][1025];
void founction(int ans[1025][1025], int x, int y, int l)
{
if (l == 2)
{
ans[x][y] = 0;
return;
}
for (int i = x; i <=x+ l/2-1; i++)
{
for (int j= y; j <=y+ l/2-1; j++)
{
ans[i][j] = 0;
}
}
founction(ans, l / 2 + 1, y, l / 2);
founction(ans, x, l / 2 + y, l / 2);
founction(ans, l / 2 + x, l / 2+y,l/2 );
}
int main()
{
int s=1;
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
s *= 2;
}
for (int i = 1; i <= s; i++)
{
for (int j = 1; j <= s; j++)
{
ans[i][j] = 1;
}
}
founction(ans, 1, 1, s);
for (int i = 1; i <= s; i++)
{
for (int j = 1; j <= s; j++)
{
cout << ans[i][j] << " ";
}
cout << "\n";
}
return 0;
}