#include <bits/stdc++.h>
using namespace std;
struct node {
  node* c[26];
  bool w;
  bool l;
} * root;
void inserT(string& s) {
  node* cr = root;
  for (auto& h : s) {
    if (!cr->c[h - 'a']) cr->c[h - 'a'] = new node();
    cr = cr->c[h - 'a'];
  }
}
void dfs(node* cr) {
  cr->w = 0;
  cr->l = 0;
  bool lf = 1;
  for (int i = 0; i < 26; i++)
    if (cr->c[i]) {
      dfs(cr->c[i]);
      cr->w |= !(cr->c[i]->w);
      cr->l |= !(cr->c[i]->l);
      lf = 0;
    }
  if (lf) cr->l = 1;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  root = new node();
  int n, k;
  cin >> n >> k;
  while (n--) {
    string s;
    cin >> s;
    inserT(s);
  }
  dfs(root);
  if (k == 1)
    cout << (root->w ? "First" : "Second");
  else if (!root->w)
    cout << "Second";
  else if (root->l)
    cout << "First";
  else if (k & 1)
    cout << "First";
  else
    cout << "Second";
  return 0;
}
