#include <bits/stdc++.h>
using namespace std;
size_t const NN = 100004;
size_t const ABCNT = 27;
int trie[NN][ABCNT];
char state[NN];
void Traverse(int r) {
  int flag = 0;
  for (int i = 0; i < ABCNT; ++i) {
    int child = trie[r][i];
    if (child != -1) {
      Traverse(child);
      flag |= (1 << (state[child]));
    }
  }
  if (flag == 0) {
    state[r] = 0;
  } else if ((flag & 3) == 3 || (flag & 8)) {
    state[r] = 2;
  } else if (flag & 1) {
    state[r] = 1;
  } else if (flag & 2) {
    state[r] = 0;
  } else {
    state[r] = 3;
  }
}
int main(int argc, char *argv[]) {
  int n, k;
  for (int i = 0; i < NN; ++i) {
    state[i] = -1;
    for (int j = 0; j < ABCNT; ++j) {
      trie[i][j] = -1;
    }
  }
  cin >> n >> k;
  int next = 0;
  for (int i = 0; i < n; ++i) {
    string str;
    cin >> str;
    int root = 0;
    for (int j = 0; j < str.length(); ++j) {
      if (trie[root][str[j] - 'a'] == -1) {
        trie[root][str[j] - 'a'] = ++next;
      }
      root = trie[root][str[j] - 'a'];
    }
  }
  Traverse(0);
  if (state[0] == 0 || state[0] == 3) {
    cout << "Second" << endl;
  } else if (state[0] == 1) {
    cout << ((k % 2) ? "First" : "Second") << endl;
  } else if (state[0] == 2) {
    cout << "First" << endl;
  }
  return EXIT_SUCCESS;
}
