C++
#include <bits/stdc++.h>
using namespace std;
int m, n, f[13][4096], c[13], a[13][13], o = 1e8, ans;
bool b[4096];
int main(){
cin >> m >> n;
for (int i = 1; i <= m; i ++ )
for (int j = 1; j <= n; j ++ )
cin >> a[i][j];
for (int i = 1; i <= m; i ++ )
for (int j = 1; j <= n; j ++ )
c[i] = (c[i] << 1) + a[i][j];
int nm = 1 << n;
for (int i = 0; i < nm; i ++ )
b[i] = ((i & (i << 1)) == 0) && ((i & (i >> 1)) == 0);
f[0][0] = 1;
for (int i = 1; i <= m; i ++ )
for (int j = 0; j < nm; j ++ )
if (b[j] && ((j & c[i]) == j))
for (int k = 0; k < nm; k ++ )
if ((k & j) == 0)
f[i][j] = (f[i][j] + f[i - 1][k]) % o;
for (int i = 0; i < nm; i ++ )
ans += f[m][i], ans %= o;
cout << ans;
}