#include <bits/stdc++.h>
const int M = 100005;
using namespace std;
bool canWin[M], canLose[M];
int T[M][26];
int n, k, m;
char s[M];
int main() {
  scanf("%d %d", &n, &k);
  m = 1;
  for (int i = 1; i <= n; i++) {
    scanf("%s\n", s);
    int pos = 1;
    char c;
    for (int j = 0; c = s[j]; j++) {
      c -= 'a';
      if (T[pos][c] == 0) T[pos][c] = ++m;
      pos = T[pos][c];
    }
  }
  for (int i = m; i; i--) {
    canLose[i] = count(T[i], T[i] + 26, 0) == 26;
    canWin[i] = false;
    for (int j = 0; j < 26; j++) {
      if (T[i][j] == 0) continue;
      canLose[i] |= !canLose[T[i][j]];
      canWin[i] |= !canWin[T[i][j]];
    }
  }
  if (!canWin[1]) {
    printf("Second");
    return 0;
  }
  if (canLose[1]) {
    printf("First");
    return 0;
  }
  if (k & 1)
    printf("First");
  else
    printf("Second");
  return 0;
}
