#include <bits/stdc++.h>
using namespace std;
const int N = 100005, sz = 26;
int n, m, tot, ch[N][sz], f[N], g[N], dp[N];
char P[N];
vector<int> V[N];
inline int idx(char c) { return c - 'a'; }
void insert() {
  int u = 0, n = strlen(P);
  for (int i = 0; i < n; i++) {
    int c = idx(P[i]);
    if (!ch[u][c]) {
      ++tot;
      memset(ch[tot], 0, sizeof(ch[tot]));
      ch[u][c] = tot;
      V[u].push_back(tot);
    }
    u = ch[u][c];
  }
}
void dfs(int u) {
  if (V[u].size() == 0) {
    f[u] = 0;
    g[u] = 1;
    return;
  }
  for (int i = 0; i < V[u].size(); ++i) {
    int v = V[u][i];
    dfs(v);
    if (f[v] == 0) f[u] = 1;
    if (g[v] == 0) g[u] = 1;
  }
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; ++i) {
    scanf("%s", P);
    insert();
  }
  dfs(0);
  if (f[0] == 0)
    printf("Second\n");
  else {
    if (g[0] == 1 || m & 1)
      printf("First\n");
    else
      printf("Second\n");
  }
  return 0;
}
