#include<stdio.h>
#include<string.h>
#include<math.h>
#define max(a,b) a>=b?a:b
#define min(a,b) a<=b?a:b
#define LL long long
#define MAX 200
int main()
{
int n,m,i,j;
scanf("%d %d",&n
,&m
); // names , length of names char arr[MAX][MAX];
for(i=0;i<n;i++)
{
}
LL prod=1;
for(j=0;j<m;j++)
{
LL c=0;
int count[MAX]={0};
for(i = 0; i < n; i++)
{
if(count[(int)arr[i][j]] == 1)
{
;
}
else
{
count[(int)arr[i][j]]++;
c++;
// printf("Hello");
}
}
// printf("Bye");
prod=prod*c;
}
prod=prod%1000000007;
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPG1hdGguaD4KCiNkZWZpbmUgbWF4KGEsYikgYT49Yj9hOmIKI2RlZmluZSBtaW4oYSxiKSBhPD1iP2E6YgojZGVmaW5lIExMIGxvbmcgbG9uZwojZGVmaW5lIE1BWCAyMDAKaW50IG1haW4oKQp7CiAgICBpbnQgbixtLGksajsKICAgIHNjYW5mKCIlZCAlZCIsJm4sJm0pOyAvLyBuYW1lcyAsIGxlbmd0aCBvZiBuYW1lcwogICAgY2hhciBhcnJbTUFYXVtNQVhdOwogICAgZm9yKGk9MDtpPG47aSsrKQogICAgewogICAgICAgIHNjYW5mKCIlcyIsYXJyW2ldKTsKICAgIH0KICAgIAogICAgTEwgcHJvZD0xOwogICBmb3Ioaj0wO2o8bTtqKyspCiAgIHsgCiAgICAgICBMTCBjPTA7CiAgICAgICBpbnQgY291bnRbTUFYXT17MH07CiAgICAgIGZvcihpID0gMDsgaSA8IG47IGkrKykKICAgICAgeyAgCiAgICAgICAgaWYoY291bnRbKGludClhcnJbaV1bal1dID09IDEpCiAgICAgICAgICAgewogICAgICAgICAgICAgICA7CiAgICAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGNvdW50WyhpbnQpYXJyW2ldW2pdXSsrOwogICAgICAgICAgICAgICBjKys7IAogICAgICAgICAgICAgLy8gIHByaW50ZigiSGVsbG8iKTsKICAgICAgICAgICB9CiAgICAgIH0KICAgICAvLyBwcmludGYoIkJ5ZSIpOwogICAgICBwcm9kPXByb2QqYzsKICAgIAogICB9ICAgIAogICBwcm9kPXByb2QlMTAwMDAwMDAwNzsKICAgcHJpbnRmKCIlbGxkIixwcm9kKTsKCgoKCiAgICByZXR1cm4gMDsKfQ==