#include <bits/stdc++.h>
using namespace std;
int mod=1e9+7;
bool mt(string a,string b)
{
bool w=1;
for (int i=0;i<a.size();i++)
{
if (a[i]==b[i]) continue;
w=0;
break;
}
if (w)
return w;
w=1;
for (int i=0;i<a.size();i++)
{
if (a[i]==b[i+1]) continue;
w=0;
break;
}
return w;
}
inline void solve()
{
int n,k;
cin>>n>>k;
string a[n][k];
for (int i=0;i<n;i++)
for (int j=0;j<k;j++)
cin>>a[i][j];
int dp[n][k]={};
for (int i=0;i<k;i++)
dp[0][i]=1;
for (int i=0;i+1<n;i++)
{
for (int j=0;j<k;j++)
{
for (int l=0;l<k;l++)
{
if (mt(a[i][j],a[i+1][l]))
{
// cout<<i<<' '<<j<<' '<<l<<endl;
dp[i+1][l]+=dp[i][j];
if (dp[i+1][l]>=mod)
dp[i+1][l]-=mod;
}
}
}
}
int ans=0;
for (int i=0;i<k;i++)
{
ans+=dp[n-1][i];
if (ans>=mod)
ans-=mod;
}
cout<<ans<<endl;
}
int main()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int t=1;
for (int i=1;i<=t;i++)
{
solve();
}
}