#include <bits/stdc++.h>
using namespace std;
struct trie {
  int win, lose;
  trie* nxt[26];
  trie() {
    win = lose = -1;
    for (int i = 0; i < 26; i += 1) {
      nxt[i] = nullptr;
    }
  }
};
int n, k;
void dfs(trie* curr) {
  int win = 0, lose = 0, cnt = 0;
  for (int i = 0; i < 26; i += 1) {
    if (!curr->nxt[i]) {
      continue;
    }
    cnt += 1;
    dfs(curr->nxt[i]);
    int w = curr->nxt[i]->win, l = curr->nxt[i]->lose;
    if (w == 0) {
      win = 1;
    }
    if (l == 0) {
      lose = 1;
    }
  }
  if (!cnt) {
    lose = 1;
    win = 0;
  }
  curr->win = win, curr->lose = lose;
}
int main() {
  trie* root = new trie();
  cin >> n >> k;
  for (int i = 0; i < n; i += 1) {
    string s;
    cin >> s;
    trie* curr = root;
    for (char j : s) {
      if (!curr->nxt[j - 'a']) {
        curr->nxt[j - 'a'] = new trie();
      }
      curr = curr->nxt[j - 'a'];
    }
  }
  dfs(root);
  if (root->win == 0) {
    cout << "Second" << endl;
  } else if (root->lose == 1) {
    cout << "First" << endl;
  } else {
    if (k % 2 == 1) {
      cout << "First" << endl;
    } else {
      cout << "Second" << endl;
    }
  }
}
