#include <bits/stdc++.h>
using namespace std;
const int N = 200010;
int n, k, m = 1, a[N][26];
char foo[N];
bool can_win[N], can_lose[N];
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%s", foo);
    int t = 1;
    for (int j = 0; foo[j] != '\0'; j++) {
      int p = foo[j] - 'a';
      if (a[t][p] == 0) {
        m++;
        a[t][p] = m;
      }
      t = a[t][p];
    }
  }
  for (int i = m; i >= 1; i--) {
    bool mv = false;
    for (int j = 0; j < 26; j++) {
      if (a[i][j] != 0) {
        mv = true;
        break;
      }
    }
    if (!mv) {
      can_win[i] = false;
      can_lose[i] = true;
      continue;
    }
    can_win[i] = false;
    can_lose[i] = false;
    for (int j = 0; j < 26; j++) {
      if (a[i][j] != 0) {
        if (!can_win[a[i][j]]) {
          can_win[i] = true;
        }
        if (!can_lose[a[i][j]]) {
          can_lose[i] = true;
        }
      }
    }
  }
  if (!can_win[1]) {
    puts("Second");
  } else if (can_lose[1]) {
    puts("First");
  } else {
    puts((k % 2) == 1 ? "First" : "Second");
  }
  return 0;
}
