#include <bits/stdc++.h>
using namespace std;
inline long long getint() {
  long long _x = 0, _tmp = 1;
  char _tc = getchar();
  while ((_tc < '0' || _tc > '9') && _tc != '-') _tc = getchar();
  if (_tc == '-') _tc = getchar(), _tmp = -1;
  while (_tc >= '0' && _tc <= '9') _x *= 10, _x += (_tc - '0'), _tc = getchar();
  return _x * _tmp;
}
long long mypow(long long _a, long long _x, long long _mod) {
  if (_x == 0) return 1ll;
  long long _tmp = mypow(_a, _x / 2, _mod);
  _tmp = (_tmp * _tmp) % _mod;
  if (_x & 1) _tmp = (_tmp * _a) % _mod;
  return _tmp;
}
inline long long add(long long _x, long long _y,
                     long long _mod = 1000000007ll) {
  long long _ = _x + _y;
  if (_ >= _mod) _ -= _mod;
  return _;
}
inline long long sub(long long _x, long long _y,
                     long long _mod = 1000000007ll) {
  long long _ = _x - _y;
  if (_ < 0) _ += _mod;
  return _;
}
inline long long mul(long long _x, long long _y,
                     long long _mod = 1000000007ll) {
  long long _ = _x * _y;
  if (_ >= _mod) _ %= _mod;
  return _;
}
inline bool equal(double _x, double _y) {
  return _x > _y - 1e-9 && _x < _y + 1e-9;
}
int __ = 1, _cs;
void build() {}
int n, q;
vector<pair<int, int> > v[7];
void init() {
  n = getint();
  q = getint();
  for (int i = 0; i < q; i++) {
    char a[9];
    char b[9];
    scanf("%s%s", a, b);
    v[b[0] - 'a'].push_back(make_pair(a[0] - 'a', a[1] - 'a'));
  }
}
set<vector<int> > S;
queue<vector<int> > Q;
int ans;
void solve() {
  vector<int> ov;
  ov.push_back(0);
  S.insert(ov);
  Q.push(ov);
  while (Q.size()) {
    vector<int> tv = Q.front();
    Q.pop();
    int sz = (int)tv.size();
    if (sz == n) {
      ans++;
      continue;
    }
    for (size_t i = 0; i < v[tv.back()].size(); i++) {
      vector<int> nxtv = tv;
      nxtv.back() = v[tv.back()][i].second;
      nxtv.push_back(v[tv.back()][i].first);
      if (S.count(nxtv) == 0) {
        S.insert(nxtv);
        Q.push(nxtv);
      }
    }
  }
  cout << ans << endl;
}
int main() {
  build();
  while (__--) {
    init();
    solve();
  }
}
