#include <iostream>
using namespace std;
int flag=0;
bool issafe(int i,int j,int arr[100][100],int n,int m);
    if(i>=0 && i<=n-1 && j>=0 && j<=m-1 && arr[i][j]==1){
        return true;
    }
    return false;
}
void print_arr(int n,int m,int arr[100][100]){
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cout<<arr[i][j]<<" ";
        }
        cout<<endl;
    }
}
void solve(int r,int c,int arr[][],int n,int m){
    if(r==n-1 && c==m-1){
        print_arr(n,m,arr)
        flag++;
        return;
    }
    arr[r][c]=2;
    if(issafe(r+1,c,arr,n,m)){
        solve(r+1,c,arr,n,m);
    }
    if(issafe(r-1,c,arr,n,m)){
        solve(r-1,c,arr,n,m);
    }
    if(issafe(r,c-1,arr,n,m)){
        solve(r,c-1,arr,n,m);
    }
    if(issafe(r,c+1,arr,n,m)){
        solve(r,c+1,arr,n,m);
    }
}
int main() {
    int n,m;
    cin>>n>>m;
    int arr[100][100];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>arr[i][j];
        }
    }
    solve(0,0,arr,n,m);
     for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cout<<arr[i][j]<<" ";
        }
    }
    if(flag==1){
        cout<<"Found";
    }
    else{
        cout<<"Not Found";
    }
return 0;
}