Pagini recente » Cod sursa (job #1471288) | Cod sursa (job #2882940) | Cod sursa (job #1547131) | Cod sursa (job #1932365) | Cod sursa (job #2140341)
#include<bits/stdc++.h>
using namespace std;
const int P=104659;
bool OK[30][30];
int DP[1005][30];
long long rs;
int n,k;
int main() { ifstream cin("nrcuv.in"); ofstream cout("nrcuv.out");
cin>>n>>k;
for (int i=0; i<k; i++) {
char a,b;
cin>>a>>b;
OK[a-'a'][b-'a']=1;
OK[b-'a'][a-'a']=1;
}
for (int i=0; i<26; i++) DP[1][i]=1;
for (int i=2; i<=n; i++) {
for (int j=0; j<26; j++) {
for (int k=0; k<26; k++) {
if (!OK[j][k]) DP[i][k]=(DP[i][k]+DP[i-1][j])%P;
}
}
}
for (int i=0; i<26; i++) rs=(rs+DP[n][i])%P;
cout<<rs;
return 0;
}