#include <bits/stdc++.h>
using namespace std;
int e[100005][30], cnt = 1;
bool t[100005], f[100005];
void dfs(int u) {
  bool tf = 0;
  for (int v = 0; v < 30; v++) {
    if (!e[u][v]) continue;
    tf = 1;
    dfs(e[u][v]);
    t[u] |= !t[e[u][v]];
    f[u] |= !f[e[u][v]];
  }
  f[u] |= !tf;
}
int edge(int u, int v) {
  if (e[u][v]) return e[u][v];
  return e[u][v] = cnt++;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, i, j, k;
  for (i = 0; i < 100005; i++) {
    t[i] = f[i] = 0;
    for (j = 0; j < 30; j++) e[i][j] = 0;
  }
  string s;
  cin >> n >> k;
  while (n--) {
    cin >> s;
    j = 0;
    for (i = 0; i < s.size(); i++) j = edge(j, (int)s[i] - 97);
  }
  dfs(0);
  if ((k % 2 == 0 && !f[0]) || !t[0])
    cout << "Second";
  else
    cout << "First";
}
