#include <bits/stdc++.h>
using namespace std;
const int oo = 2000000009;
const double eps = 1e-9;
const int mx = 100005;
int n, k;
string str[mx];
bool win(int a, int b, int sofar) {
  if (a > b) return false;
  if ((int)(str[a].size()) <= sofar) return win(a + 1, b, sofar);
  char c = str[a][sofar];
  int last = a;
  for (int i = a; i <= b; ++i) {
    if (c != str[i][sofar]) {
      if (!win(last, i - 1, sofar + 1)) return true;
      c = str[i][sofar];
      last = i;
    }
  }
  if (!win(last, b, sofar + 1)) return true;
  return false;
}
bool lose(int a, int b, int sofar) {
  if (a > b) return true;
  if ((int)(str[a].size()) <= sofar) return lose(a + 1, b, sofar);
  char c = str[a][sofar];
  int last = a;
  for (int i = a; i <= b; ++i) {
    if (c != str[i][sofar]) {
      if (!lose(last, i - 1, sofar + 1)) return true;
      c = str[i][sofar];
      last = i;
    }
  }
  if (!lose(last, b, sofar + 1)) return true;
  return false;
}
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 0; i < (n); ++i) cin >> str[i];
  sort(str, str + n);
  bool w = win(0, n - 1, 0);
  bool l = lose(0, n - 1, 0);
  bool first;
  if (w) {
    if (l) {
      first = true;
    } else {
      if (k % 2 == 1)
        first = true;
      else
        first = false;
    }
  } else {
    first = false;
  }
  printf("%s\n", first ? "First" : "Second");
  return 0;
}
