#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
#define baza 10
#define MAX 1100
#define MOD 104659
typedef long long int lli;
int a[MAX][28];
bool b[28][28];
int main()
{
char a1, a2;
int n, nr, i, j, k, s;
fin>>n>>nr;
for(i=1;i<=nr;i++)
{
fin>>a1>>a2;
b[a1-'a'][a2-'a']=b[a2-'a'][a1-'a']=1;
}
for(i=0;i<=25;i++)
{
a[1][i]=1;
}
for(i=1;i<=n;i++)
{
for(j=0;j<=25;j++)
{
for(k=0;k<=25;k++)
{
if(!b[j][k])
{
a[i][j]+=a[i-1][k];
a[i][j]%=MOD;
}
}
}
}
s=0;
for(i=0;i<=25;i++)
{
s+=a[n][i];
s%=MOD;
}
fout<<s;
return 0;
}