#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, k, v[N][30], id;
bool win[N], lose[N];
void add(string s) {
  int now = 0, c;
  for (int i = 0; i < s.size(); ++i) {
    c = (int)(s[i] - 'a');
    if (v[now][c] != -1) {
      now = v[now][c];
      continue;
    }
    v[now][c] = id;
    now = id++;
  }
}
void dfs(int st) {
  bool flag = true;
  for (int i = 0; i < 30; ++i)
    if (v[st][i] != -1) {
      flag = false;
      dfs(v[st][i]);
      win[st] |= (!win[v[st][i]]);
      lose[st] |= (!lose[v[st][i]]);
    }
  if (flag) {
    win[st] = false;
    lose[st] = true;
  }
}
int main() {
  id = 1;
  for (int i = 0; i < N; ++i)
    for (int j = 0; j < 30; ++j) v[i][j] = -1;
  cin >> n >> k;
  string help;
  for (int i = 0; i < n; ++i) {
    cin >> help;
    add(help);
  }
  dfs(0);
  if (win[0] and lose[0]) return cout << "First", 0;
  if (win[0] == false) return cout << "Second", 0;
  if (k % 2) return cout << "First", 0;
  cout << "Second";
}
