#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a[100], row, col, block, b1[11][10], b2[11][10], b3[11][10];
void print()
{
for (int i = 1; i <= 81; i++)
{
cout << a[i] << " ";
if (i % 9 == 0)
cout << endl;
}
exit(0);
}
void dfs(int x,int row,int col)
{
if (a[x] != 0)
dfs(x + 1,row,col);
if (x > 81)
{
print();
}
row = (x - 1) / 9 + 1;
col = (x - 1) % 9 + 1;
block = (row - 1) / 3 * 3 + (col - 1) / 3 + 1;
for (int i = 1; i <= 9; i++)
{
if (b1[row][i] == 0 && b2[col][i] == 0 && b3[block][i] == 0)
{
a[x] = i;
b1[row][i] = 1; b2[col][i] = 1; b3[block][i] = 1;
if (x > 81)
{
print();
}
dfs(x + 1,row,col);
b1[row][i] = 0; b2[col][i] = 0; b3[block][i] = 0;
a[x] = 0;
}
}
return;
}
int main()
{
for (int i = 1; i <= 81; i++)
{
int t;
cin >> t;
if (t!= 0)
{
a[i] = t;
row = (i - 1) / 9 + 1;
col = (i - 1) % 9 + 1;
block = (row - 1) / 3 * 3 + (col - 1) / 3 + 1;
b1[row][t] = 1, b2[col][t] = 1, b3[block][t] = 1;
}
}
dfs(1,1,1);
return 0;
}