#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e5 + 5;
int n, k, sz, trie[MAX][26];
bool win[MAX], lose[MAX];
char s[MAX];
void dfs(int u) {
  int ady = 0;
  for (int i = 0; i < 26; i++) {
    if (trie[u][i] == 0) continue;
    ady++;
    int v = trie[u][i];
    dfs(v);
    win[u] |= !win[v];
    lose[u] |= !lose[v];
  }
  if (ady == 0) {
    win[u] = 0;
    lose[u] = 1;
  }
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%s", s);
    int l = strlen(s);
    int r = 0;
    for (int i = 0; i < l; i++) {
      int c = s[i] - 'a';
      if (trie[r][c] == 0) trie[r][c] = ++sz;
      r = trie[r][c];
    }
  }
  dfs(0);
  if (win[0] && lose[0])
    printf("First\n");
  else if (win[0] && !lose[0]) {
    if (k & 1)
      printf("First\n");
    else
      printf("Second\n");
  } else if (!win[0] && lose[0])
    printf("Second\n");
  else
    printf("Second\n");
  return 0;
}
