#include
using namespace std;
bool rat(char maze[][1000],int sol[][1000],int m,int n,int i,int j){
if(i==m && j==n){
sol[i][j]=1;
for(i=0;i<=m;i++){
for(j=0;j<=n;j++){
cout<<sol[i][j]<<" ";
}
cout<<endl;
}
cout<< endl;
return true;
}
if(i>m || j>n){
return false;
}
if(maze[i][j]=='X'){
return false;
}
sol[i][j]=1;
bool right=rat(maze,sol,m,n,i,j+1);
bool down=rat(maze,sol,m,n,i+1,j);
sol[i][j]=0;
if(right || down){
return true;
}
return false;
}
int main(){
int m,n,i,j;
cin>>m>>n;
int sol[1000][1000]={0};
char maze[1000][1000];
for(i=0;i<m;i++){
for(j=0;j<n;j++){
cin>>maze[i][j];
}
maze[i][j]='\0';
}
bool ans=rat(maze,sol,m-1,n-1,0,0);
if(ans==false){
cout<<"-1";
}
}