#include
using namespace std;
bool ratina(int n,int m,char arr[][10000],int out[][1000],int i,int j)
{
if(j>=m)
{
return false;
}
if(i>n)
{
return false;
}
if(i==n-1&&j==m-1)
{
for(int q=0;q<n;q++)
{
for(int w=0;w<m;w++)
{
cout<<out[q][w]<<" ";
}
cout<<endl;
}
return true;
}
if(arr[i][j]==‘X’)
{
return false;
}
if(arr[i][j]!=‘X’)
{
out[i][j]=1;
}
if(arr[i][j+1]!=‘X’&&j+1<m)
{
bool agerakhpake=ratina(n,m,arr,out,i,j+1);
if(agerakhpake)
{
return true;
}
}
if(arr[i+1][j]!=‘X’&&i+1<n)
{
bool agerakh=ratina(n,m,arr,out,i+1,j);
if(agerakh)
{
return true;
}
}
out[i][j]=0;
return false;
}
int main() {
int n,m;
cin>>n>>m;
char arr[10000][10000];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>arr[i][j];
}
}
int out[1000][1000]={0};
if(ratina(n,m,arr,out,0,0))
return 0 ;
else
cout<<"-1";
}