#include <bits/stdc++.h>
using namespace std;
char x[100005];
int n, k, dp[100005][26], tree[100005][26], tot = 1;
void insert() {
  int len = strlen(x), p = 1;
  for (int i = 0; i < len; i++) {
    if (!tree[p][x[i] - 'a']) tree[p][x[i] - 'a'] = ++tot;
    p = tree[p][x[i] - 'a'];
  }
}
void dfs(int u) {
  bool flag = 0;
  for (int i = 0; i < 26; i++) {
    if (!tree[u][i]) continue;
    flag = 1;
    dfs(tree[u][i]);
    if (!dp[tree[u][i]][1]) dp[u][1] = 1;
    if (!dp[tree[u][i]][0]) dp[u][0] = 1;
  }
  if (!flag) {
    dp[u][1] = 1;
    dp[u][0] = 0;
  }
}
int main() {
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    cin >> x;
    insert();
  }
  dfs(1);
  if (dp[1][1] && dp[1][0]) {
    cout << "First";
  } else {
    if (!dp[1][0]) {
      cout << "Second";
    } else {
      if (k & 1)
        cout << "First";
      else
        cout << "Second";
    }
  }
}
