#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
//
//暴力
char map[11][11];
int a[83],b[83];
int num;
bool canput(int k,int n)
{
int x=a[n];
int y=b[n];
for(int i=0;i<9;i++)
{
if(k+'0'==map[x-1][i])return false;
if(k+'0'==map[i][y-1])return false;
}
for(int i=(x-1)/3*3;i<(x-1)/3*3+3;i++)
{
for(int j=(y-1)/3*3;j<(y-1)/3*3+3;j++)
if(map[i][j]==k+'0')return false;
}
return true;
}
void dfs(int i,int &ok)
{
if(ok)return;
if(i==num)
{
ok=1;
for(int j=0;j<9;j++)
printf("%s\n",map[j]);
return;
}
for(int k=1;k<=9;++k)
if(canput(k,i))
{
map[a[i]-1][b[i]-1]=k+'0';
dfs(i+1,ok);
if(ok)return;
map[a[i]-1][b[i]-1]='0';
}
}
int main()
{
int n;
scanf("%d",&n);
for(;n--;)
{
num=0;
for(int i=0;i<9;i++)
{
scanf("%s",map[i]);
}
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
if(map[i][j]=='0'){a[num]=i+1;b[num]=j+1;num++;}
int k=0;
dfs(0,k);
//printf("??");
}
return 0;
}