Pagini recente » Cod sursa (job #2449199) | Cod sursa (job #100400) | Cod sursa (job #2925298) | Cod sursa (job #1952958) | Cod sursa (job #2637086)
#include <fstream>
using namespace std;
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
const int M=104659;
char f[30][30]; long long dp[1003][30], ans;
int a, b;
int main(){
cin >> a >> b;
for(int i=0; i<b; ++i){
char x, y;
cin >> x >> y;
f[x-'a'][y-'a']=1;
f[y-'a'][x-'a']=1;
}
for(int i=0; i<26; ++i)
dp[1][i]=1;
for(int i=2; i<=a; ++i)
for(int j=0; j<26; ++j)
for(int k=0; k<26; ++k)
if(!f[k][j]&&!f[j][k])
dp[i][j]=(dp[i][j]+dp[i-1][k])%M;
for(int i=0; i<26; ++i)
ans=(ans+dp[a][i])%M;
cout << ans;
}