#include<iostream>
#include <cstdio>
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
const int N=20;
char g[N][N];
bool col[N],dg[N],udg[N];
int n,num=1;
void dfs(int u){
if(u==n){
for(int i=0;i<n;i++){
puts(g[i]);
}num++;
return;
}for(int i=0;i<n;i++){
if(!col[i]&&!dg[u+i]&&!udg[n-u+i]){
g[i][u]='1';
col[i]=dg[u+i]=udg[n-u+i]=true;
dfs(u+1);
col[i]=dg[u+i]=udg[n-u+i]=false;
g[i][u]='0';
}
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
g[j][i]='0';
}
}dfs(0);
return 0;
}