#include <bits/stdc++.h>   using namespace std;   const long long mod = 1000000007;   int main() {     int n, m;     scanf( %d %d , &n, &m);     string S;     set<int> H[n];     set<int> V[m];     for (int i = 0; i < (n); i++) {       cin >> S;       for (int j = 0; j < (m); j++)         if (S[j] !=  . ) {           int t = S[j] -  0 ;           int h = (t <= 2);           int v = (t == 1 || t == 4);           H[i].insert((h + j) % 2);           V[j].insert((v + i) % 2);         }     }     bool good = true;     int cnt = m + n;     for (int i = 0; i < (n); i++) {       if (H[i].size() > 1)         good = 0;       else if (H[i].size())         --cnt;     }     for (int j = 0; j < (m); j++) {       if (V[j].size() > 1)         good = 0;       else if (V[j].size())         --cnt;     }     if (good) {       int ans = 1;       for (int i = 0; i < (cnt); i++) {         ans += ans;         ans %= 1000003;       }       cout << ans << endl;     } else       cout << 0 << endl;     return 0;   }   