#include <bits/stdc++.h>
using namespace std;
long long n, k, v[(101 * 1000)][30], p = 1, dp[(101 * 1000)];
void dfs(long long x) {
  long long cnt = 0;
  for (int i = 0; i < 26; i++)
    if (v[x][i]) cnt++, dfs(v[x][i]);
  if (cnt == 0)
    dp[x] = 1;
  else {
    long long num[4] = {};
    for (int i = 0; i < 26; i++)
      if (v[x][i]) num[dp[v[x][i]]]++;
    if (num[2])
      dp[x] = 3;
    else if (num[3] == cnt)
      dp[x] = 2;
    else if (!num[1])
      dp[x] = 1;
    else if (!num[0])
      dp[x] = 0;
    else
      dp[x] = 3;
  }
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    string s;
    cin >> s;
    long long ex = 0;
    for (int j = 0; j < s.size(); j++) {
      if (v[ex][s[j] - 'a'])
        ex = v[ex][s[j] - 'a'];
      else
        v[ex][s[j] - 'a'] = p, ex = p++;
    }
  }
  dfs(0);
  long long cnt = 0, num[4] = {};
  for (int i = 0; i < 26; i++)
    if (v[0][i]) cnt++, num[dp[v[0][i]]]++;
  if (num[2]) return cout << "First", 0;
  if (num[3] == cnt) return cout << "Second", 0;
  if (!num[1]) return cout << "Second", 0;
  if (!num[0]) return cout << ((k % 2) ? "First" : "Second"), 0;
  cout << "First";
  return 0;
}
