#include<stdio.h>
int main()
{
//0은 빈공간, 1 이상의 수는 물풍선, -1은 장애물
int i,j,k,n;
int map[20][20]= {0};
int x,y;
int players[10][1] = {0};
for(i=0; i<=11; i++)
{
for(j=0; j<=11; j++)
{
map[i][j]=-1;
}
}
for (i=1; i<11; i++)
{
for (j=1; j<11; j++)
{
scanf("%d", &map[i][j]); //맵 만들기
}
}
for (i=1; i<=10; i++)
{
for (j=1; j<=10; j++)
{
//map[i][j]
int up=1, down=1, left=1, right=1;
if (map[i][j]>=1) // 만약에 물풍선이라면
{
int coord = map[i][j];
map[i][j] = -2;
for (k=0; k<coord; k++) //물풍선 개수만큼 반복해라
{
if (map[i-up][j]!=-1&&map[i-up][j]==0)
{
printf("%d %d\n", i-up, j);
map[i-up][j]=-2;
up++;
}
if (map[i+down][j]!=-1&&map[i+down][j]==0)
{
map[i+down][j]=-2;
down++;
}
if (map[i][j-left]!=-1&&map[i][j-left]==0)
{
map[i][j-left]=-2;
left++;
}
if (map[i][j+right]!=-1&&map[i][j+right]==0)
{
map[i][j+right]=-2;
right++;
}
}
}
}
}
scanf("%d", &n);
for (i=0; i<n; i++)
{
scanf("%d %d", &x, &y);
if (map[x][y]<0)
{
players[i][0] = 0;
}
else
{
players[i][0] = 1;
map[x][y] = i+1;
}
}
for (i=1; i<=10; i++)
{
for (j=1; j<=10; j++)
{
printf("%d ", map[i][j]); //맵 출력하기
}
printf("\n");
}
printf("Character Information\n");
for (i=0; i<n; i++)
{
if (players[i][0] == 0)
{
printf("player %d dead\n", i+1);
}
else
{
printf("player %d survive\n", i+1);
}
}
return 0;
}