#include <bits/stdc++.h>
using namespace std;
int in() {
  int n;
  scanf("%d", &n);
  return n;
}
long long Lin() {
  long long n;
  scanf("%lld", &n);
  return n;
}
double Din() {
  double n;
  scanf("%lf", &n);
  return n;
}
const long long inf = (long long)1e17;
const long long mod = (long long)1e9 + 7;
const int N = 1e5 + 5;
int n, k, mn = 1e7, mx;
int a[N], dp[N];
int game(int k) {
  if (k < mn) return 0;
  if (k <= mx) return 1;
  if (dp[k] != -1) return dp[k];
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    if (!game(k - a[i])) ans = 1;
  }
  return dp[k] = ans;
}
int solve() {
  n = in(), k = in();
  for (int i = 1; i <= n; i++) {
    a[i] = in();
    mn = min(mn, a[i]);
    mx = max(mx, a[i]);
  }
  memset(dp, -1, sizeof dp);
  if (game(k))
    printf("First\n");
  else
    printf("Second\n");
  return 0;
}
int main() {
  int test = 1, tc = 0;
  while (test--) {
    solve();
  }
  return 0;
}
