#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
const int maxn = 1e5;
const int INF = 0x7fffffff;
const int mod = 1e9 + 7;
const double eps = 1e-7;
const double Pi = acos(-1.0);
inline int read_int() {
  char c;
  int ret = 0, sgn = 1;
  do {
    c = getchar();
  } while ((c < '0' || c > '9') && c != '-');
  if (c == '-')
    sgn = -1;
  else
    ret = c - '0';
  while ((c = getchar()) >= '0' && c <= '9') ret = ret * 10 + (c - '0');
  return sgn * ret;
}
inline long long read_ll() {
  char c;
  long long ret = 0, sgn = 1;
  do {
    c = getchar();
  } while ((c < '0' || c > '9') && c != '-');
  if (c == '-')
    sgn = -1;
  else
    ret = c - '0';
  while ((c = getchar()) >= '0' && c <= '9') ret = ret * 10 + (c - '0');
  return sgn * ret;
}
struct node {
  int child[26];
} arr[maxn + 5];
int tot;
inline void insert(char* s) {
  int now = 0;
  for (int i = 0; s[i]; ++i) {
    if (!arr[now].child[s[i] - 'a']) arr[now].child[s[i] - 'a'] = ++tot;
    now = arr[now].child[s[i] - 'a'];
  }
}
bool DFS1(int u, int len) {
  bool flag = false;
  for (int i = 0; i < 26; i++) {
    if (arr[u].child[i]) {
      flag = DFS1(arr[u].child[i], len + 1);
      if (len % 2 == 0 && flag) return true;
      if (len & 1 && !flag) return false;
    }
  }
  return len & 1;
}
bool DFS2(int u, int len) {
  bool flag = false, son = false;
  for (int i = 0; i < 26; i++) {
    if (arr[u].child[i]) {
      son = true;
      flag = DFS2(arr[u].child[i], len + 1);
      if (len % 2 == 0 && flag) return true;
      if (len % 2 && !flag) return false;
    }
  }
  if (len % 2 == 0 && !son) return true;
  if (len & 1 && !son) return false;
  if (len % 2 == 0) return false;
  return true;
}
int n, k;
char s[maxn + 5];
bool res1, res2;
int main() {
  n = read_int(), k = read_int();
  for (int i = 1; i <= n; ++i) {
    scanf("%s", s);
    insert(s);
  }
  res1 = DFS1(0, 0);
  res2 = DFS2(0, 0);
  if (!res1)
    cout << "Second" << endl;
  else if (res1 && res2)
    cout << "First" << endl;
  else {
    if (k & 1)
      cout << "First" << endl;
    else
      cout << "Second" << endl;
  }
  return 0;
}
