#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (a > b) swap(a, b);
  if (a == 0) return b;
  return gcd(b % a, a);
}
int log2(int x, int max) { return max - __builtin_clz(x) - 1; }
long long powerMod(long long x, long long y) {
  long long res = 1;
  x %= 1000000007;
  while (y > 0) {
    if (y & 1) res = (res * x) % 1000000007;
    y = y >> 1;
    x = (x * x) % 1000000007;
  }
  return res;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long n, m, i, j, k, l;
  cin >> n >> m;
  string s[n];
  long long c[m];
  int ch[m][100];
  memset((c), 0, sizeof((c)));
  memset((ch), 0, sizeof((ch)));
  for (i = 0; i < n; i++) {
    cin >> s[i];
    for (j = 0; s[i][j]; j++) {
      if (!ch[j][s[i][j]]) {
        ch[j][s[i][j]] = 1;
        c[j]++;
      }
    }
  }
  long long ans = 1;
  for (i = 0; i < m; i++) ans = (ans * c[i]) % 1000000007;
  cout << ans << endl;
  return 0;
}
