#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;
}
