#include <stdio.h>
int main()
{
int matrix[15][10];
int graphic[4][4];
int i, j, k;
for(i=0; i<15; i++)
{
for(j=0; j<10; j++)
{
scanf("%d",&matrix[i][j]);
}
}
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
scanf("%d",&graphic[i][j]);
}
}
scanf("%d",&k);
//模拟方块下落的过程
int w;
int flag = 0;
int m;
for(i=0; i<15; i++)
{
w = 0;
for(m=i; m<i+4; m++)
{
for(j = k-1; j<k+3; j++)
{
if(graphic[w][j-k+1] == 1)
{
if(matrix[m][j] != 0)
{
flag = 1;
break;
}
}
}
if(flag)
{
break;
}
w++;
}
if(flag)
{
break;
}
}
i--;
int q;
int p=0;
for(m = i; m < 15; m++)//在方格图中将图案的位置赋为1
{
for(q=k-1; q<k+3; q++)
{
if(graphic[p][q-k+1])
{
matrix[m][q] = 1;
}
}
p++;
if(p == 4)
{
break;
}
}
//输出方格图案
for(i=0; i<15; i++)
{
for(j=0; j<10; j++)
{
printf("%d ",matrix[i][j]);
}
printf("\n");
}
return 0;
}