/*
#include <stdio.h>
//f(int x)
//{
// int i,j,k;
// for(i=0; ; i++){
// k=0;
// for(j=0; ; j++){
// k+=x%10;
// x=x/10;
// if(x==0){
// if(k<10){
// return k;
// }
// else {
// break;
// }
// }
// }
// x=k;
// }
//}
int f(int x)
{
int i,k=0;
for(i=0; ; i++){
k+=x%10;
x=x/10;
if(x==0){
return k;
}
}
}
int main()//자릿수의 합
{
int n,y;
scanf("%d",&n);
while(1){
y = f(n);
if(y<10){
break;
}
n=y;
}
printf("%d",y);
return 0;
}
*/
/*
#include <stdio.h>
int f(int x)
{
int j,k;
k=0;
for(j=1; j<=x; j++)
{
if(x%j==0){
k+=1;
}
}
return k;
}
int main()//소수 (함수 ver)
{
int i,m,n,y,sum=0,min;
scanf("%d %d",&m,&n);
min=n;
for(i=m; i<=n; i++)
{
//f(i) : i의 약수의 갯수 리턴
if(f(i)==2){
sum+=i;
if(i<min){
min=i;
}
}
}
printf("%d %d",sum,min);
return 0;
}
*/
#include <stdio.h>//색종이
int d[101][101]={};
int main()
{
int x,y,i,j,n;
scanf("%d",&n);
for(int q=0; q<n; q++){
scanf("%d %d",&x,&y);
for(i=1; i<=x; i++){
for(j=1; j<=y; j++){
d[i][j]=1;
}
}
}
for(i=1; i<=100; i++){
for(j=1; j<=100; j++){
printf("%d",d[i][j]);
}
printf("\n");
}
return 0;
}