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