func_code_string: #include <bits/stdc++.h>   using namespace std;   unordered_map<string, vector<string> > m;   set<string> q;   string SS(char C) {     string p =   ;     p += C;     return p;   }   void dfs(string s, long n) {     if (n == 0) {       q.insert(s);       return;     }     for (auto i : m[SS(s[0])]) dfs(i + s.substr(1, s.size() - 1), n - 1);   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     long n, t;     cin >> n >> t;     string s, p;     for (long i = long(0); i < long(t); i++) {       cin >> s >> p;       m[p].push_back(s);     }     for (auto i : m[ a ]) dfs(i, n - 2);     cout << q.size();   }   