#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 10;
vector<long long> v[MAXN];
string s;
long long x, badi[MAXN][30], cnt = 1, n, k;
pair<long long, long long> X;
pair<long long, long long> DFS(long long u) {
  pair<long long, long long> ansu;
  for (auto const& vi : v[u]) {
    X = DFS(vi);
    if (!X.first || ansu.first) ansu.first = 1;
    if (!X.second || ansu.second) ansu.second = 1;
  }
  if (v[u].empty()) ansu.second = 1;
  return {ansu.first, ansu.second};
}
int main() {
  cin >> n >> k;
  for (long long i = 0; i < n; i++) {
    cin >> s;
    x = 0;
    for (auto const& ci : s) {
      if (!badi[x][ci - 'a']) {
        v[x].push_back(cnt);
        badi[x][ci - 'a'] = cnt++;
      }
      x = badi[x][ci - 'a'];
    }
  }
  X = DFS(0);
  if (X.first) {
    if (X.second)
      cout << "First";
    else if (k % 2)
      cout << "First";
    else
      cout << "Second";
  } else
    cout << "Second";
}
