#include <bits/stdc++.h>
using namespace std;
int table[555555];
int tablet[555555];
int n, m;
int get_char(int i, int j) { return table[i * m + j]; }
void set_char(int i, int j, int c) { table[i * m + j] = c; }
int mod = 1000003;
bool is_consistent_row(int i, bool dir) {
  for (int j = 0; j < m; j++) {
    if (((j % 2 == 0) ^ dir) && (get_char(i, j) == 3 || get_char(i, j) == 4)) {
      return false;
    } else if (((j % 2 == 1) ^ dir) &&
               (get_char(i, j) == 1 || get_char(i, j) == 2)) {
      return false;
    }
  }
  return true;
}
bool is_consistent_column(int j, bool dir) {
  for (int i = 0; i < n; i++) {
    if (((i % 2 == 0) ^ dir) && (get_char(i, j) == 1 || get_char(i, j) == 4)) {
      return false;
    } else if (((i % 2 == 1) ^ dir) &&
               (get_char(i, j) == 2 || get_char(i, j) == 3)) {
      return false;
    }
  }
  return true;
}
int main() {
  while (cin >> n >> m) {
    memset(table, -1, sizeof(table));
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        char c;
        cin >> c;
        if (c == '.') {
          set_char(i, j, -1);
        } else {
          set_char(i, j, c - '0');
        }
      }
    }
    int ret = 1;
    for (int i = 0; i < n; i++) {
      bool try1 = is_consistent_row(i, true);
      bool try2 = is_consistent_row(i, false);
      if (!try1 && !try2) {
        ret = 0;
      }
    }
    for (int j = 0; j < m; j++) {
      bool try1 = is_consistent_column(j, true);
      bool try2 = is_consistent_column(j, false);
      if (!try1 && !try2) {
        ret = 0;
      }
    }
    for (int i = 0; i < n; i++) {
      bool is_given = false;
      for (int j = 0; j < m; j++) {
        if (get_char(i, j) != -1) {
          is_given = true;
        }
      }
      if (!is_given) {
        ret = (ret * 2 + mod) % mod;
      }
    }
    for (int j = 0; j < m; j++) {
      bool is_given = false;
      for (int i = 0; i < n; i++) {
        if (get_char(i, j) != -1) {
          is_given = true;
        }
      }
      if (!is_given) {
        ret = (ret * 2 + mod) % mod;
      }
    }
    cout << ret << endl;
  }
  return 0;
}
