#include <bits/stdc++.h>
using namespace std;
int MOD = 1e6 + 3;
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  char s[n][m + 1];
  for (int i = (0); i < (int)(n); i++) scanf("%s", s[i]);
  bool c[m][2];
  bool r[n][2];
  memset(c, 0, sizeof(c)), memset(r, 0, sizeof(r));
  for (int i = (0); i < (int)(n); i++) {
    for (int j = (0); j < (int)(m); j++) {
      if (isdigit(s[i][j])) {
        int first = s[i][j] - '1';
        int R = (first / 2 + j) % 2;
        int C = ((first + 1) % 4 / 2 + i) % 2;
        r[i][R] = 1;
        c[j][C] = 1;
      }
    }
  }
  int ans = 1;
  for (int i = (0); i < (int)(m); i++) {
    if (c[i][0] && c[i][1])
      ans = 0;
    else if (!c[i][0] && !c[i][1])
      ans = ans * 2 % MOD;
  }
  for (int i = (0); i < (int)(n); i++) {
    if (r[i][0] && r[i][1])
      ans = 0;
    else if (!r[i][0] && !r[i][1])
      ans = ans * 2 % MOD;
  }
  printf("%d\n", ans);
  return 0;
}
