#include <bits/stdc++.h>
using namespace std;
long long MOD = 1000000009;
double startTime;
double getCurrentTime() {
  return ((double)clock() - startTime) / CLOCKS_PER_SEC;
}
long long int pwr(long long int x, long long int n) {
  long long int res = 1;
  for (; n != 0; n >>= 1) {
    if (n & 1) res = (res * x) % MOD;
    x = (x * x) % MOD;
  }
  return res;
}
long long int inver(long long int num) { return pwr(num, MOD - 2); }
long long int findncr(long long int n, long long int r) {
  r = min(r, n - r);
  if (n == 0 || n == 1 || r == 0) return 1;
  long long int numer = 1;
  for (long long int i = n; i >= n - r + 1; i--) numer = (numer * i) % MOD;
  long long int den = 1;
  for (long long int i = 2; i <= r; i++) den = (den * i) % MOD;
  den = inver(den);
  long long int res = (numer * den) % MOD;
  return res;
}
long long int gcd(long long int a, long long int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, k;
  cin >> n >> k;
  vector<int> vec(n + 1, 0);
  for (int i = 0; i < (n); i++) cin >> vec[i];
  vector<int> win(k + 1, 2);
  for (int i = 1; i <= k; i++) {
    for (int j = 0; j < n; j++) {
      if (vec[j] - i > 0)
        continue;
      else {
        if (win[i - vec[j]] == 2) win[i] = 1;
      }
    }
  }
  auto p = win[k] == 1 ? "First" : "Second";
  cout << p << endl;
}
