//Bill
Hamilton
//ACSL
Round 2 Senior Division
//Rockport
Fulton High School, Rockport, Texas
import
java.io.*;
import
java.text.*;
import
java.util.*;
class
ACSL2
{
public static int[][] sud=new
int[9][9];
public static boolean
checkDone()
{
for (int
x=0;x<9;x++)
{
for
(int y=0;y<9;y++)
{
if(sud[x][y]==0)
return
false;
}
}
return true;
}
public static void solve()
{
int c=0;
while(!checkDone()&&c<1000)
{
for
(int x=0;x<9;x++)
{
for
(int y=0;y<9;y++)
{
if(sud[x][y]==0)
{
ArrayList<Integer>
nums=getNums(x,y);
if(nums.size()==1)
sud[x][y]=nums.get(0);
}
}
}
c++;
}
}
public static
ArrayList<Integer> getNums(int xp,int yp)
{
boolean []
used=new boolean[10];
int xs=xp/3*3;
int ys=yp/3*3;
for(int
x=0;x<9;x++)
{
used[sud[xp][x]]=true;
used[sud[x][yp]]=true;
used[sud[xs+x/3][ys+x%3]]=true;
}
ArrayList<Integer>
nums=new ArrayList<Integer>();
for (int
x=1;x<10;x++)
if(!used[x])
nums.add(x);
return nums;
}
public static void main(String
[] args) throws IOException
{
Scanner scan=new
Scanner(new File("sr.dat"));
for (int
x=0;x<9;x++)
{
for
(int y=0;y<9;y++)
sud[x][y]=scan.nextInt();
}
solve();
for(int
t=0;t<5;t++)
{
int
r=scan.nextInt()-1;
int[]
nums=sud[r];
for
(int i:nums)
System.out.print(i+"
");
System.out.println();
}
}
}