#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100000 + 20, MAXM = 4e5 + 20, MOD = 1000 * 1000 * 1000 + 7;
const long long INF = 1e9;
vector<int> dif;
int t[10 * MAXN][30];
int win[10 * MAXN], selflose[10 * MAXN];
int id = 1;
void trie(string s) {
  int u = 0;
  for (int i = 0; i < s.size(); i++) {
    if (t[u][s[i] - 'a'] == 0) {
      t[u][s[i] - 'a'] = id;
      id++;
    }
    u = t[u][s[i] - 'a'];
  }
}
void dfs(int u = 0, int par = -1) {
  int cnt = 0;
  for (char i = 'a'; i <= 'z'; i++) {
    int v = t[u][i - 'a'];
    if (v) {
      cnt++;
      dfs(v);
      win[u] |= !win[v];
      selflose[u] |= !selflose[v];
    }
  }
  if (cnt == 0) {
    selflose[u] = 1;
    win[u] = 0;
  }
}
void solve() {
  int n, k;
  cin >> n >> k;
  string s;
  for (int i = 0; i < n; i++) {
    cin >> s;
    trie(s);
  }
  dfs();
  if (win[0] == 1 && (k % 2 || selflose[0] == 1))
    cout << "First" << endl;
  else
    cout << "Second" << endl;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  solve();
}
