func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, k, i, j, v, bor[100005][27], a[100005], b[100005];   string s;   void dfs(int v) {     int q = 0;     int u = 0;     int t = 0;     for (int i = 1; i < 27; i++) {       if (bor[v][i] > 0) {         q = 1;         dfs(bor[v][i]);         if (a[bor[v][i]] == 0) u = 1;         if (b[bor[v][i]] == 0) t = 1;       }     }     if (q == 0) {       a[v] = 0;       b[v] = 1;     }     if (u == 1) a[v] = 1;     if (t == 1) b[v] = 1;   }   int main() {     cin >> n >> m;     k = 1;     for (i = 1; i <= n; i++) {       cin >> s;       v = 1;       for (j = 0; j < s.length(); j++) {         int to = s[j] - 96;         if (bor[v][to] > 0)           v = bor[v][to];         else {           k++;           bor[v][to] = k;           v = k;         }       }     }     dfs(1);     if (a[1] == 1 && b[1] == 1)       cout <<  First ;     else if (a[1] == 1 && b[1] == 0 && (m % 2 == 1))       cout <<  First ;     else       cout <<  Second ;   }   