<import java.io.*;
import java.util.*;
class Magic_Carpet {
int[][] m;
int k;
int num=1;
Magic_Carpet(int n,int k){
this.m=new int[(int)Math.pow(3,n)][(int)Math.pow(3,n)];
this.k=k;
}
void matrix(int n,int k,int i1,int j1,int h){
if(n==0){
m[0][0]=0;
return;
}else{
if(n==1){
int cas=0;
for(int i=i1;i<3;i++){
for(int j=j1;j<3;j++){
if(cas==k){
m[i][j]=0;
}else{
m[i][j]=1;
}
cas++;
}
}
}else{
int cas1=0;
int rig=0;
int col=0;
for(int g=0;g<9;g++){
for(int i=i1;i<m.length/(Math.pow(3,h));i++){
for(int j=j1;j<m.length/(Math.pow(3,h));j++){
if(cas1==g){
m[i][j]=0;
}
cas1++;
}
}
rig++;
col++;
if(rig==3){
j1=j1*2;
}
if(col==3){
}
matrix(n-1,k,i1,j1,++h);
}
}
}
}
void print(){
for(int i=0;i<m.length;i++){
for(int j=0;j<m.length;j++){
System.out.print(m[i][j]);
}
System.out.print("\n");
}
}
public static void main(String []args) throws IOException{
BufferedReader br=new BufferedReader( new InputStreamReader(System.in));
String s=br.readLine();
StringTokenizer st=new StringTokenizer(s);
int n=Integer.parseInt(st.nextToken());
int k=Integer.parseInt(st.nextToken());
Magic_Carpet t=new Magic_Carpet(n,k);
t.matrix(n,k,0,0,1);
t.print();
}
}
>