#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 50, A = 30;
int n, k, nxt[N][A], dp[2][N], sz;
string s;
void add(string s) {
  int u = 0;
  for (auto c : s) {
    if (!nxt[u][c - 'a']) nxt[u][c - 'a'] = ++sz;
    u = nxt[u][c - 'a'];
  }
}
void dfs(int u = 0) {
  bool w = true;
  for (int i = 0; i < A; i++)
    if (nxt[u][i]) {
      w = false;
      dfs(nxt[u][i]);
      dp[0][u] |= !dp[0][nxt[u][i]];
      dp[1][u] |= !dp[1][nxt[u][i]];
    }
  dp[0][u] |= w;
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> s, add(s);
  dfs();
  cout << ((k & 1 || dp[0][0]) && dp[1][0] ? "First" : "Second") << endl;
}
