/*
#include <stdio.h>
int main()
{
int arr[11][11]={};
int i,j,n,k;
for(i=1 ; i<=10 ; i++) {
for(j=1 ; j<=10 ; j++) {
scanf("%d",&arr[i][j]);
}
}
//개미시작위치
i=2; j=2;
for(;;){
if(arr[i][j]==2){
arr[i][j]=9;
break;
}
else {
arr[i][j]=9;
}
if(arr[i][j+1]!=1) {
j++;
}
else if(arr[i+1][j]!=1) {
i++;
}
else {
break;
}
}
//map출력
for(i=1 ; i<=10 ; i++) {
for(j=1 ; j<=10 ; j++) {
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
1512 숫자등고선
#include<stdio.h>
int main()
{
int arr[101][101]={};
int i,j,n,x,y;
scanf("%d %d %d",&n,&x,&y);
arr[x][y]=1;
for(j=y-1 ; j>=1 ; j--) {
arr[x][j] = arr[x][j+1]+1;
}
for(j=y+1 ; j<=n ; j++) {
arr[x][j] = arr[x][j-1]+1;
}
for(j=1 ; j<=n ; j++) {
for(i=x-1 ; i>=1 ; i--) {
arr[i][j] = arr[i+1][j]+1;
}
}
for(j=1 ; j<=n; j++) {
for(i=x+1 ; i<=n ; i++) {
arr[i][j] = arr[i-1][j]+1;
}
}
//map
for(i=1 ; i<=n ; i++) {
for(j=1 ; j<=n ; j++) {
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
//1512 숫자 등고선 다르게 푸는법!(절댓값 이용)
#include <stdio.h>
#include <math.h>
int main()
{
int arr[101][101]={};
int i,j,n,x,y;
scanf("%d %d %d",&n,&x,&y);
for(i=1 ; i<=n ; i++) {
for(j=1 ; j<=n ; j++) {
arr[i][j] = abs(x-i)+abs(y-j)+1;
}
}
//map
for(i=1 ; i<=n ; i++) {
for(j=1 ; j<=n ; j++) {
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int arr[11][11]={};
int n,j,i,k, x, y, l;
for(i=1 ; i<=10 ; i++) {
for(j=1 ; j<=10 ; j++) {
scanf("%d",&arr[i][j]);
}
}
//player scan
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d %d",&x, &y);
//물풍선터트리기 **
for(i=1 ; i<=10 ; i++) {
for(j=1 ; j<=10 ; j++) {
if(arr[i][j]>0)
{
l = arr[i][j];
for(k=1 ; k<=l ; k++) {
if(i-k<1||arr[i-k][j]==-1) break;
if(arr[i-k][j]==0) arr[i-k][j]=-2;
}
for(k=1 ; k<=l ; k++) {
if(i+k<1||arr[i+k][j]==-1) break;
if(arr[i+k][j]==0) arr[i+k][j]=-2;
}
arr[i][j]=-2;
}
}
}
//플레이어가 살아있다면 그부분은 플레이어 번호로 바꾸기
//map출력 **
for(i=1 ; i<=10 ; i++) {
for(j=1 ; j<=10 ; j++) {
printf("%d ",arr[i][j]);
}
printf("\n");
}
//플레이어 상태 출력
return 0;
}