#include<bits/stdc++.h>
using namespace std;
const int P=1e9;
int g[14];
int s[1<<14];
int cnt;
int f[14][1<<14];
int main(){
int n,m;
cin >> n >> m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int x;
cin >> x;
g[i]=(g[i]<<1)+x;
}
}
for(int i=0;i<(1<<m);i++){
if(!(i&i>>1)){
s[cnt++]=i;
}
}
f[0][0]=1;
for(int i=1;i<=n+1;i++){
for(int a=0;a<cnt;a++){
for(int b=0;b<cnt;b++){
if(!(s[a]&s[b])&&(s[a]&g[i])==s[a]){
f[i][a]=(f[i][a]+f[i-1][b])%P;
}
}
}
}
cout << f[n+1][0];
return 0;
}
求救大神!