package test;
import java.util.Scanner;
public class 纵横放火柴游戏 {
public static void main(String arg[])
{
Scanner input = new Scanner(System.in);
char[][] arr = new char[3][4];
int n = input.nextInt();
while(n-- != 0)
{
for(int i = 0;i < 3;i++)
{
String str = input.next();
arr[i] = str.toCharArray();
}
Putmatch(arr);
}
}
//计算最佳放置法,选择第一个空格放置‘-’或‘1’,能放的就输出
private static void Putmatch(char[][] arr) {
// TODO Auto-generated method stub
for(int i = 0;i < 3;i++)
{
for(int j = 0;j < 4;j++)
{
if(arr[i][j] == '0')
{
arr[i][j] = '-';
if(isOk(arr,i,j))
{
System.out.println(i + "" + j + "" + '-');
return;
}
arr[i][j] = '0';
arr[i][j] = '1';
if(isOk(arr,i,j))
{
System.out.println(i + "" + j + "" + '1');
return;
}
arr[i][j] = '0';
}
}
}
}
//判断该放置法是否符合条件,查询当前位置所放的方向上是否有同方向且无阻拦
private static boolean isOk(char[][] arr, int i, int j) {
// TODO Auto-generated method stub
if(arr[i][j] == '-')
{
for(int k = j-1;k >= 0;k--)
{
if(arr[i][k] == '-')
{
return false;
}else if(arr[i][k] == '1')
{
return true;
}
}
for(int l = j+1;l < 4;l++)
{
if(arr[i][l] == '-')
{
return false;
}else if(arr[i][l] == '1')
{
return true;
}
}
}else if(arr[i][j] == '1')
{
for(int m = i-1;m >=0;m--)
{
if(arr[m][j] == '1')
{
return false;
}else if(arr[m][j] == '-')
{
return true;
}
}
for(int n = i+1;n < 3;n++)
{
if(arr[n][j] == '1')
{
return false;
}else if(arr[n][j] == '-')
{
return true;
}
}
}
return true;
}
}