#include <bits/stdc++.h>
using namespace std;
int g[2][500005][2];
char p[500005];
int main() {
  int i, j, l, a[2], v, v1, v2, x, y;
  char c;
  scanf("%d%d", a, a + 1);
  memset(g, 0, sizeof(g));
  for (i = 0; i < a[0]; i++) {
    getchar();
    scanf("%s", p);
    for (j = 0; j < a[1]; j++) {
      c = p[j];
      if (c == '.') continue;
      v = c - '1';
      v1 = v / 2;
      v2 = (v + 1) % 4 / 2;
      g[0][i][(j % 2) ^ v1] = g[1][j][(i % 2) ^ v2] = 1;
    }
  }
  l = 1;
  for (i = 0; i < 2; i++)
    for (j = 0; j < a[i]; j++) {
      x = g[i][j][0];
      y = g[i][j][1];
      if (x && y)
        l = 0;
      else if (!x && !y)
        l = l * 2 % 1000003;
    }
  printf("%d\n", l);
  return 0;
}
