/*
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
int i;
for(i=0; i<a.length(); i++)
{
System.out.printf("%c",a.charAt(i)+2);
}
System.out.printf("\n");
for(i=0; i<a.length(); i++)
{
System.out.printf("%c",a.charAt(i)*7%80+48);
}
}
}
*/
/*
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
//if(a.charAt(0) == 'l' && a.charAt(1) == 'o' && a.charAt(2) == 'v' && a.charAt(3) == 'e')
if(a.equals("love"))
{
System.out.println("I love you.");
}
}
}
*/
/*
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
int i;
for(i=0; i<a.length(); i++)
{
System.out.printf("'%c'\n", a.charAt(i));
}
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr1[] = new int[n]; //int n개 배열 생성
//위 코드는 c에서 int arr1[n];과 같습니다!
int [] arr = new int[50];
//int arr[50]; (x)
int map[][] = new int[50][50]; //이차원배열도 마찬가지!
//////////////////////////////////////////////////////
int array[] = {5,1,4,8,7};
// 배열의 길이 알아내기 가능!!array.length
for(int i=0;i<array.length;i++)
{
System.out.println(array[i]);
}
for(int k:array)
{
System.out.println(k);
}
//문자열
//str[0] (x)-> str.charAt(0)
String str;
str=sc.next(); //한 단어
str=sc.nextLine(); // 한 줄 입력받기
System.out.println(str.charAt(0));
}
}
*/
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int map[][] = new int[11][11];
int b=0;
int h, k, m, s;
int i , j;
int n;
int[] x = new int [100]; int[] y = new int [100];
for(i=1; i<=10; i++)
{
for(j=1;j<=10;j++)
{
map[i][j]=sc.nextInt();
}
}
n=sc.nextInt();
for(i=1; i<=n; i++)
{
x[i]=sc.nextInt();
y[i]=sc.nextInt();
//map[x[i]][y[i]] = 1;
}
for(i=1; i<=10; i++)
{
for(j=1;j<=10;j++)
{
if(map[i][j] >= 1)
{
int len=map[i][j]; //5
for(h=1;h<=len;h++) //오른쪽으로
{
if(j+h>10 || map[i][j+h]==-1 )
{
break;
}
//-1만났을때 또는 맵을 벗어났을때는 물풍선 터지는거 멈추기
if(map[i][j+h]==0)
{
map[i][j+h]=-2;
}
}
for(k=1;k<=len;k++)
{
if(i+k>10 || map[i+k][j]==-1 )
{
break;
}
if(map[i+k][j]==0)
{
map[i+k][j]=-2;
}
}
for(m=1;m<=len;m++)
{
if(j-m == 0 || map[i][j-m]==-1 )
{
break;
}
if(map[i][j-m]==0)
{
map[i][j-m]=-2;
}
}
for(s=1;s<=len;s++)
{
if(i-s == 0 || map[i-s][j]==-1 )
{
break;
}
if(map[i-s][j]==0)
{
map[i-s][j]=-2;
}
}
/*
for(m=len;m>=1;m++)
{
if(map[i][j+h]==-1 || j+h>10) break;
if(map[i][j+h]==0) map[i][j+h]=-2;
}*/
map[i][j]=-2;
}
}
}
for(i=1; i<=10; i++)
{
for(j=1;j<=10;j++)
{
System.out.print(map[i][j]+" ");
}
System.out.println();
}
}
}