#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, k;
int trie[N][128];
char in[N];
vector<int> nxt[N];
int sz = 0;
void insert() {
  char *p = in;
  int cur = 0;
  for (; *p; p++) {
    if (!trie[cur][*p]) {
      trie[cur][*p] = ++sz;
      nxt[cur].push_back(trie[cur][*p]);
    }
    cur = trie[cur][*p];
  }
}
int win(int u) {
  int ret = 0;
  for (int v : nxt[u]) ret |= !win(v);
  return ret;
}
int lose(int u) {
  if (nxt[u].empty()) return 1;
  int ret = 0;
  for (int v : nxt[u]) ret |= !lose(v);
  return ret;
}
int main() {
  scanf("%d%d", &n, &k);
  k = k % 2;
  while (n--) {
    scanf("%s", &in);
    insert();
  }
  if (!win(0))
    puts("Second");
  else {
    if (lose(0))
      puts("First");
    else
      puts(k ? "First" : "Second");
  }
}
