#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int N=19;
int a[N],b[N],c[N],d[N],e[N],g[N];
int n,k,m,ans,mn=114514;
void tx(int op)
{
int ans=0;
for(int i=0;i<m;i++)
{
for(int j=0;j<40;j++)
{
ans+=(op>>j&1);
}
c[i]^=op;
c[i]^=op>>1;
c[i]^=op<<1;
c[i]&=(1<<n)-1;
c[i+1]^=op;
g[i]=op;
op=c[i];
}
if(op==0&&ans<mn)
{
for(int i=0;i<=m;i++)e[i]=g[i];
mn=ans;
}
}
void f(int x)
{
for(int i=0;i<1<<x;i++)
{
for(int i=0;i<=m;i++)c[i]=a[i];
tx(i);
}
}
signed main()
{
ios::sync_with_stdio(0);
cin>>n>>m;
for(int i=0;i<m;i++)
{
int t=0;
for(int j=0;j<n;j++)
{
int x;
cin>>x;
if(x)t+=1<<j;
}
a[i]=t;
}
f(n);
if(mn==114514)
{
cout<<"IMPOSSIBLE";
return 0;
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cout<<(e[i]>>j&1)<<' ';
}
cout<<endl;
}
return 0;
}