#include <bits/stdc++.h>
using namespace std;
const int N = 9;
int a[N][N];
bool check(int row, int col, int num)
{
for (int i = 0; i < N; i++)
if (a[row][i] == num || a[i][col] == num)
return false;
int r = row / 3 * 3;
int c = col / 3 * 3;
for (int i = r; i < r + 3; i++)
for (int j = c; j < c + 3; j++)
if (a[i][j] == num)
return false;
return true;
}
bool dfs(int row, int col)
{
if (row == N)
return true;
if (col == N)
return dfs(row + 1, 0);
if (a[row][col] != 0)
return dfs(row, col + 1);
for (int i = 1; i <= 9; i++)
{
if (check(row, col, i))
{
a[row][col] = i;
if (dfs(row, col + 1))
return true;
a[row][col] = 0;
}
}
return false;
}
int main()
{
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
scanf("%d", &a[i][j]);
if (dfs(0, 0))
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}