#include <bits/stdc++.h>
using namespace std;
const long long NMAX = 100000 + 7;
const long long MOD = 1000 * 1000 * 1000 + 7;
const long long INT_BITS = 32;
long long arr[NMAX];
long long dp[NMAX];
inline long long add(long long a, long long b) {
  long long r = a + b;
  return (r >= MOD ? r - MOD : r);
}
inline long long sub(long long a, long long b) {
  long long r = a - b;
  return (r < 0 ? r + MOD : r);
}
inline long long mul(long long a, long long b) {
  long long r = a * b;
  return (r >= MOD ? r % MOD : r);
}
long long N, K;
bool check(long long a) { return a % 2 == 1; }
int func(long long k) {
  if (k <= 0) return 0;
  int losin = 1;
  for (long long i = 0; i < N; i++) {
    if (k >= arr[i]) {
      losin = losin and func(k - arr[i]);
    }
  }
  return 1 - losin;
}
int main(int argc, char const *argv[]) {
  cin >> N >> K;
  for (long long i = 0; i < N; i++) cin >> arr[i];
  ;
  memset(dp, (-1), sizeof(dp));
  if (func(K))
    cout << "First\n";
  else
    cout << "Second\n";
  return 0;
}
