#include <bits/stdc++.h>
using namespace std;
const int SIZE = 1e5 + 3;
const int MOD = 1e9 + 7;
const int INF = 1e9;
int n, k;
int chd[SIZE][26];
int cnt = 1;
void add(int i, char *str) {
  if (str[0] == 0) return;
  int c = str[0] - 'a';
  if (chd[i][c] == 0) chd[i][c] = cnt++;
  add(chd[i][c], str + 1);
}
bool win(int root) {
  for (int i = 0; i < 26; ++i) {
    if (chd[root][i] && !win(chd[root][i])) return true;
  }
  return false;
}
bool lose(int root) {
  for (int i = 0; i < 26; ++i) {
    if (chd[root][i] && !lose(chd[root][i])) return true;
  }
  for (int i = 0; i < 26; ++i)
    if (chd[root][i]) return false;
  return true;
}
int main() {
  char str[SIZE];
  cin >> n >> k;
  for (int i = 0; i < n; ++i) {
    scanf("%s", str);
    add(0, str);
  }
  int winable = win(0), losable = lose(0);
  if (!winable)
    printf("Second\n");
  else if (!losable)
    printf("%s\n", k % 2 ? "First" : "Second");
  else
    printf("First\n");
  return 0;
}
