#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5;
int number = 0;
struct Trie {
  int key;
  Trie *kid[30];
  Trie() {
    number++;
    key = number;
    for (char i = 'a'; i <= 'z'; i++) {
      kid[i - 'a'] = nullptr;
    }
  }
};
void add(Trie *t, string &s, int index) {
  if (index == s.size()) return;
  if (t->kid[s[index] - 'a'] == nullptr) t->kid[s[index] - 'a'] = new Trie();
  add(t->kid[s[index] - 'a'], s, index + 1);
}
int n, k;
string a[MAXN];
Trie *T;
int memo[MAXN];
bool calcStateWin(Trie *T) {
  bool lose = true;
  for (char i = 'a'; i <= 'z'; i++) {
    if (T->kid[i - 'a'] != nullptr) {
      lose = false;
      break;
    }
  }
  if (lose == true) return false;
  if (memo[T->key] != -1) return memo[T->key];
  bool answer = false;
  for (char i = 'a'; i <= 'z'; i++) {
    if (T->kid[i - 'a'] == nullptr) continue;
    if (calcStateWin(T->kid[i - 'a']) == false) {
      answer = true;
      break;
    }
  }
  memo[T->key] = answer;
  return answer;
}
bool calcStateLose(Trie *T, string s) {
  bool lose = true;
  for (char i = 'a'; i <= 'z'; i++) {
    if (T->kid[i - 'a'] != nullptr) {
      lose = false;
      break;
    }
  }
  if (lose == true) return false;
  if (memo[T->key] != -1) return memo[T->key];
  bool answer = true;
  for (char i = 'a'; i <= 'z'; i++) {
    if (T->kid[i - 'a'] == nullptr) continue;
    if (calcStateLose(T->kid[i - 'a'], s + i) == true) {
      answer = false;
      break;
    }
  }
  memo[T->key] = answer;
  return answer;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  bool winning;
  bool canLose = false;
  T = new Trie();
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    add(T, a[i], 0);
  }
  memset(memo, -1, sizeof(memo));
  winning = calcStateWin(T);
  memset(memo, -1, sizeof(memo));
  canLose = calcStateLose(T, "") ^ true;
  if (canLose == false) {
    if (winning == true) {
      if (k % 2 != 0)
        cout << "First" << '\n';
      else
        cout << "Second" << '\n';
    } else {
      cout << "Second" << '\n';
    }
  } else {
    if (winning == true) {
      cout << "First" << '\n';
    } else {
      cout << "Second" << '\n';
    }
  }
}
