#include <bits/stdc++.h>
using namespace std;
struct nod {
  nod* Copii[26];
  int winner;
}* tata = new nod(), *loser = new nod();
int n, k;
string s;
void add(nod* act, string& s, int level, int ending) {
  if (level < s.size()) {
    int x = s[level] - 'a';
    if (act->Copii[x] == nullptr) act->Copii[x] = new nod();
    add(act->Copii[x], s, level + 1, ending);
  }
  int winners = 0, nr = 0;
  for (int i = 0; i < 26; i++) {
    if (act->Copii[i] == nullptr) continue;
    winners += act->Copii[i]->winner;
    nr++;
  }
  if (nr == 0) {
    act->winner = ending;
  }
  if (winners > 0)
    act->winner = 0;
  else
    act->winner = 1;
}
int main() {
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    cin >> s;
    add(tata, s, 0, 1);
    string t = s.substr(0, s.size() - 1);
    add(loser, t, 0, 0);
  }
  if (tata->winner == 0 && loser->winner == 0)
    cout << "First";
  else if (tata->winner == 0 && loser->winner == 1) {
    if (k % 2 == 1)
      cout << "First";
    else
      cout << "Second";
  } else if (tata->winner == 1) {
    cout << "Second";
  }
  return 0;
}
