#include <bits/stdc++.h>
char max(char a, char b) { return a > b ? a : b; }
int solution(int *a, int N, int K) {
  char S[N + 1][K + 1];
  int n, k;
  for (k = 0; k <= K; k++) {
    S[0][k] = -1;
  }
  for (n = 1; n <= N; n++) {
    for (k = 0; k <= K; k++) {
      if (k >= a[n - 1]) {
        S[n][k] = max(-S[n][k - a[n - 1]], S[n - 1][k]);
      } else {
        S[n][k] = S[n - 1][k];
      }
    }
  }
  return S[N][K];
}
int main(int argc, char **argv) {
  int N, K;
  int i;
  scanf("%d %d", &N, &K);
  int a[N];
  for (i = 0; i < N; i++) {
    scanf("%d", &a[i]);
  }
  printf("%s\n", solution(a, N, K) == 1 ? "First" : "Second");
  return 0;
}
