#include<iostream>
using namespace std;
int mp[20];
long long dp[20][1 << 13];
long long mo = 100000000;
int m,n;
int main(){
cin >> n >> m;
for(int i = 0;i < n;i++){
for(int j = 0,x;j < m;j++){
mp[i] <<= 1;
cin >> x;
mp[i] |= !x;
}
}
for(int i = 0;i < 1 << m;i++){
if(i & (i << 1) || i & mp[0])
continue;
dp[0][i] = 1;
}
for(int i = 1;i < n;i++){
for(int j = 0;j < 1 << m;j++){
if(j & (j << 1) || j & mp[i])
continue;
for(int k = 0;k < 1 << m;k++){
if(k & (k << 1) || k & mp[i - 1] || k & j)
continue;
dp[i][j] = (dp[i][j] + dp[i - 1][k]) % mo;
}
}
}
long long ans = 0;
for(int i = 0;i < 1 << m;i++){
ans = (ans + dp[n - 1][i]) % mo;
}
cout << ans;
}