#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
const int INF = 0x3f3f3f3f;
int trie[N][26], root, tot;
void insert(char *s) {
  int cur = root;
  for (int i = 0; i < strlen(s); i++) {
    int x = s[i] - 'a';
    if (trie[cur][x] == -1) {
      ++tot;
      trie[cur][x] = tot;
    }
    cur = trie[cur][x];
  }
}
int win[N], lose[N];
void dfs(int v) {
  win[v] = 0;
  lose[v] = 0;
  bool update = false;
  for (int i = 0; i < 26; i++) {
    if (trie[v][i] != -1) {
      dfs(trie[v][i]);
      win[v] |= !win[trie[v][i]];
      lose[v] |= !lose[trie[v][i]];
      update = true;
    }
  }
  if (!update) {
    win[v] = false;
    lose[v] = true;
  }
}
char s[N];
int main() {
  memset(trie, -1, sizeof(trie));
  root = tot = 0;
  int n, k;
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%s", s);
    insert(s);
  }
  dfs(root);
  if (win[root] && !lose[root]) {
    puts(k & 1 ? "First" : "Second");
  } else if (!win[root]) {
    puts("Second");
  } else {
    puts("First");
  }
  return 0;
}
