#include <bits/stdc++.h>
using namespace std;
const long long int INF = 1e18;
const long long int inf = 1e9;
const long long int MOD = 1e9 + 7;
const long long int nax = 1000000 + 10;
int trie[nax][26];
int isend[nax], sz, win[nax], lose[nax];
void ins(string s) {
  int n = s.length(), v = 0;
  for (int i = 0; i < n; i++) {
    int ch = s[i] - 'a';
    if (!trie[v][ch]) trie[v][ch] = ++sz;
    v = trie[v][ch];
  }
  isend[v]++;
}
void solve(int v) {
  win[v] = 0, lose[v] = 0;
  int cnt = 0;
  for (int i = 0; i <= 25; i++) {
    int ch = i;
    if (trie[v][ch]) {
      solve(trie[v][ch]);
      win[v] = (win[v] | !win[trie[v][ch]]);
      lose[v] = (lose[v] | !lose[trie[v][ch]]);
      cnt++;
    }
  }
  if (cnt == 0) win[v] = 0, lose[v] = 1;
}
int main() {
  ios::sync_with_stdio(0);
  int n, k;
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    string s;
    cin >> s;
    ins(s);
  }
  solve(0);
  if (win[0] == 0)
    cout << "Second";
  else if (lose[0] == 1)
    cout << "First";
  else {
    if (k & 1)
      cout << "First";
    else
      cout << "Second";
  }
  return 0;
}
