#include <bits/stdc++.h>
const int maxi = 1e5 + 7;
int sz;
int t[maxi][26];
int n, k;
char str[maxi];
int dfs(int tmp) {
  int ans = 0;
  int leaf = true;
  for (int i = 0; i < 26; ++i)
    if (t[tmp][i]) {
      leaf = false;
      ans |= dfs(t[tmp][i]);
    }
  ans ^= 3;
  if (leaf) ans = 1;
  return ans;
}
int main() {
  scanf("%d %d", &n, &k);
  int now;
  for (int i = 0; i < n; ++i) {
    scanf("%s", str);
    now = 0;
    for (int j = 0; j < strlen(str); ++j) {
      if (!t[now][str[j] - 'a']) t[now][str[j] - 'a'] = ++sz;
      now = t[now][str[j] - 'a'];
    }
  }
  int ans = dfs(0);
  if ((!ans) || ((k & 1) && (ans == 2)))
    printf("First\n");
  else
    printf("Second\n");
  return 0;
}
