#include <bits/stdc++.h>
using namespace std;
const int lim = 1e6;
vector<vector<int>> v(lim, vector<int>(26, -1));
vector<int> sth1(lim, -1), sth2(lim, -1);
void dfs(int nd, int h) {
  int cnt = 0;
  for (int x : v[nd])
    if (x != -1) dfs(x, h + 1), cnt++;
  if (cnt == 0) {
    sth1[nd] = h % 2;
    sth2[nd] = (h + 1) % 2;
    return;
  }
  int a1 = 0, b1 = 0, a2 = 0, b2 = 0;
  for (int x : v[nd])
    if (x != -1) {
      if (sth1[x] == 0)
        a1++;
      else
        b1++;
      if (sth2[x] == 0)
        a2++;
      else
        b2++;
    }
  if (a1 == 0)
    sth1[nd] = 1;
  else if (b1 == 0)
    sth1[nd] = 0;
  else
    sth1[nd] = (h + 1) % 2;
  if (a2 == 0)
    sth2[nd] = 1;
  else if (b2 == 0)
    sth2[nd] = 0;
  else
    sth2[nd] = (h + 1) % 2;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n;
  long long int k;
  cin >> n >> k;
  int c = 1;
  for (int i = 0; i < n; i++) {
    string s;
    cin >> s;
    int nd = 0;
    for (int j = 0; j < s.size(); j++) {
      if (v[nd][s[j] - 'a'] == -1) v[nd][s[j] - 'a'] = c++;
      nd = v[nd][s[j] - 'a'];
    }
  }
  dfs(0, 0);
  if (sth1[0] == 0)
    cout << "Second\n";
  else if (sth1[0] == 1 && sth2[0] == 1)
    cout << "First\n";
  else
    cout << (k % 2 == 1 ? "First\n" : "Second\n");
}
