#include <bits/stdc++.h>
using namespace std;
int a[100100];
map<int, int> g;
int m, nn, n;
char ch[101000];
int e[100100][26];
int bo[100100];
int bo2[100100];
void init() {
  memset(e, -1, sizeof(e));
  n = 1;
}
void insert(const char* s) {
  int x = 0;
  for (int i = 0; s[i]; i++) {
    int c = s[i] - 'a';
    x = ~e[x][c] ? e[x][c] : e[x][c] = n++;
  }
}
void check(int x) {
  int win = 1;
  int lose = 1;
  int tt = 0;
  for (int c = 0; c < 26; c++) {
    if (~e[x][c]) {
      check(e[x][c]);
      if (bo[e[x][c]]) win = 0;
      if (bo2[e[x][c]]) lose = 0;
      tt++;
    }
  }
  bo[x] = win;
  if (tt == 0)
    bo2[x] = 0;
  else
    bo2[x] = lose;
}
int main() {
  scanf("%d%d", &nn, &m);
  init();
  for (int i = 1; i <= nn; i++) {
    scanf("%s", ch);
    insert(ch);
  }
  check(0);
  int k = 1 - bo[0];
  int k1 = 1 - bo2[0];
  int flag = 1;
  if (k) {
    if (!k1)
      if (m % 2 == 0) flag = 0;
  } else {
    flag = 0;
  }
  if (flag)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
  return 0;
}
