#include <stdio.h>
#include <stdbool.h>
#define NL 26
#define MOD 104659
int nrc[2][NL];
bool incomp[NL][NL];
int main(void) {
FILE *in = fopen("nrcuv.in", "r");
FILE *out = fopen("nrcuv.out", "w");
int n, m;
fscanf(in, "%d %d\n", &n, &m);
for (int i = 0; i < m; i++) {
char c1, c2;
fscanf(in, "%c %c\n", &c1, &c2);
int p1 = c1 - 'a';
int p2 = c2 - 'a';
incomp[p1][p2] = incomp[p2][p1] = true;
}
fclose(in);
for (int j = 0; j < NL; j++) {
nrc[1][j] = 1;
}
for (int i = 2; i <= n; i++) {
int lin_c = i % 2;
int lin_a = 1 - lin_c;
for (int j = 0; j < NL; j++) {
nrc[lin_c][j] = 0;
for (int k = 0; k < NL; k++) {
if (!incomp[j][k]) {
nrc[lin_c][j] += nrc[lin_a][k];
if (nrc[lin_c][j] >= MOD) {
nrc[lin_c][j] -= MOD;
}
}
}
}
}
int rez = 0, lin_c = n % 2;
for (int j = 0; j < NL; j++) {
rez += nrc[lin_c][j];
if (rez >= MOD) {
rez -= MOD;
}
}
fprintf(out, "%d\n", rez);
fclose(out);
return 0;
}