#include<iostream> #include<cstdio> #define mod 100000000 using namespace std; inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x*=10;x+=ch-'0';ch=getchar();} return x*f; } int n,m,ed,ans,mp[13],f[13][4096]; void dp() { for(int i=0;i<=ed;i++) { if((i&(i>>1))==0&&(i|mp[1])==mp[1]) f[1][i]=1; } //puts("ok"); for(int i=2;i<=m;i++) for(int j=0;j<=ed;j++) { if(f[i-1][j]) for(int k=0;k<=ed;k++) { if((j&k)==0&&(k|mp[i])==mp[i]&&(k&(k>>1))==0) f[i][k]=(f[i][k]+f[i-1][j])%mod; } } for(int i=0;i<=ed;i++) ans=(ans+f[m][i])%mod; printf("%d",ans); } int main(){ m=read();n=read(); for(int i=1;i<=m;i++) for(int j=1;j<=n;j++){ int x=read(); mp[i]=(mp[i]<<1)+x; } ed=(1<<n)-1; dp(); return 0; }