#include<iostream>
#include<vector>
using namespace std;
bool check(vector<vector<int>> &matrix,int row,int col,int num){
    for(int i=0;i<9;i++){
        if(matrix[row][i]==num){  
            return false;
        }
    }
    for(int i=0;i<9;i++){
        if(matrix[i][col]==num){  
            return false;
        }
    }
    int startrow=row-(row%3);
    int startcol=col-(col%3);
    for(int i=0;i<3;i++){
        for(int j=0;j<3;j++){
            if(matrix[i+startrow][j+startcol]==num){
                return false;
            }

        }
    }
    return true;
}
bool solve(vector<vector<int>> &matrix,int row,int col){
    int n=matrix.size();
    if(row==n-1 && col==n){
        return true;
    }
    if(col==n){
        row++;
        col=0;
    }
    if(matrix[row][col]!=0){
        return solve(matrix,row,col+1);
    }
    for(int num=1;num<=9;num++){
        if(check(matrix,row,col,num)){
            matrix[row][col]=num;
            if(solve(matrix,row,col+1)){
            return true;
        }
        matrix[row][col]=0;
        }
    }
    return false;
}
int main(){
    int n=9;
    vector<vector<int>>matrix(9,vector<int>(9));
    for(int i=0;i<9;i++){
        int row;
        cin>>row;
        for(int j=0;j<9;j++){
            if(matrix[i][j]=='.'){
                matrix[i][j]==0;
            }else{
                matrix[i][j]=row[j]-'0';
            }
        }
    }
    solve(matrix,0,0);
    for(int i=0;i<9;i++){
        for(int j=0;j<9;j++){
            cout<<matrix[i][j]<<" ";
        }
            cout<<endl;
    }

    return 0;
}