Pagini recente » Cod sursa (job #913115) | Cod sursa (job #2128174) | Cod sursa (job #757080) | Cod sursa (job #2507988) | Cod sursa (job #2674523)
#include <fstream>
using namespace std;
ifstream cin("nrcuv.in");
ofstream cout("nrcuv.out");
const int N=1001;
int n,m;
int dp[27][N],val[27];
bool ok[27][27];
char x,y;
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>x>>y;
ok[x-'a'][y-'a']=ok[y-'a'][x-'a']=1;
}
for(int i=0;i<26;i++)
{
for(int j=0;j<26;j++)
{
if(ok[i][j])
{
val[i]++;
val[i]%=104659;
}
}
}
for(int i=0;i<26;i++)
{
dp[i][1]=1;
}
for(int i=0;i<26;i++)
{
for(int j=2;j<=n;j++)
{
dp[i][j]=(dp[i][j-1]+25-val[i])%104659;
}
}
int ans=0;
for(int i=0;i<26;i++)
{
ans+=dp[i][n]%104659;
}
cout<<ans%104659;
return 0;
}