#include <bits/stdc++.h>
using namespace std;
const long long INF = 1LL << 40;
const long long MOD = 1e9 + 7;
const long long N = 101;
const long long K = 100001;
long long a[N], n, k;
long long dp[K];
long long f(long long stones, long long cur) {
  if (stones < 0) return cur;
  long long &ans = dp[stones];
  if (ans != -1) return ans;
  long long cant = 1;
  for (long long i = 1; i <= n; i++)
    if (f(stones - a[i], 3 - cur) == cur) ans = cur, cant = 0;
  if (cant) ans = 3 - cur;
  return ans;
}
signed main() {
  cin >> n >> k;
  for (long long i = 1; i <= n; i++) cin >> a[i];
  for (long long i = 0; i < K; i++) dp[i] = -1;
  for (long long i = 1; i <= n; i++) {
    if (f(k - a[i], 2) == 1) {
      cout << "First" << '\n';
      return 0;
    }
  }
  cout << "Second" << '\n';
  return 0;
}
