#include <bits/stdc++.h>
using namespace std;
int a[15][15];
bool g[15][15],l[15][15],r[15][15],flag = false;
void print(){
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++)
printf("%d",a[i][j]);
printf("\n");
}
}
int check(int x,int y){
if (x <= 3) {
if (y <= 3) return 1;
else if (y <= 6) return 2;
else return 3;
}
else if (x <= 6) {
if (y <= 3) return 4;
else if (y <= 6) return 5;
else return 6;
}
else {
if (y <= 3) return 7;
else if (y <= 6) return 8;
else return 9;
}
}
inline void dfs(int x,int y){
if (flag) return;
if (y > 9) dfs(x + 1,1);
if (x > 9) {
print();
flag = true;
return;
}
if (a[x][y] != 0) {
dfs(x,y + 1);
return;
}
for (int i = 1; i <= 9; i++) {
int _g = check(x,y);
if (!l[x][i] && !r[y][i] && !g[_g][i]) {
l[x][i] = true;
r[y][i] = true;
g[_g][i] = true;
a[x][y] = i;
dfs(x,y + 1);
a[x][y] = 0;
g[_g][i] = false;
r[y][i] = false;
l[x][i] = false;
}
}
return;
}
void Main(){
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
char c = getchar();
a[i][j] = c - '0';
}
char c = getchar();
if (c == '\r') getchar();
}
for (int i = 1; i <= 9; i++)
for (int j = 1; j <= 9; j++)
if (a[i][j] != 0) {
int _g = check(i,j);
l[i][a[i][j]] = true;
r[j][a[i][j]] = true;
g[_g][a[i][j]] = true;
}
dfs(1,1);
}
int main(){
int t;
scanf("%d",&t);
getchar();
while (t--) Main();
return 0;
}