#include <bits/stdc++.h>
using namespace std;
int t[100001][256] = {0};
bool win[100001] = {false};
bool lose[100001];
int freev = 1;
void addStr(string &s) {
  int it = 0;
  for (int i = 0; i < s.size(); i++) {
    if (t[it][s[i]] == 0) {
      t[it][s[i]] = freev++;
      it = freev - 1;
    } else {
      it = t[it][s[i]];
    }
  }
}
void calcLoseAndWin(int v = 0) {
  bool los = false;
  for (int i = 0; i < 256; i++) {
    if (t[v][i] != 0) {
      calcLoseAndWin(t[v][i]);
      win[v] |= !win[t[v][i]];
      los |= !lose[t[v][i]];
      lose[v] = los;
    }
  }
}
int main() {
  memset(lose, true, sizeof lose);
  int n, k;
  cin >> n >> k;
  string s;
  for (int i = 0; i < n; i++) {
    cin >> s;
    addStr(s);
  }
  calcLoseAndWin();
  if (!win[0])
    cout << "Second";
  else if (win[0] && lose[0])
    cout << "First";
  else if (win[0] && !lose[0]) {
    if (k % 2 == 1)
      cout << "First";
    else
      cout << "Second";
  }
  return 0;
}
