#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
using namespace std;
long long dp[1000010], n, k;
vector<long long> v;
long long solve(long long x) {
  if (dp[x]) return dp[x];
  for (long long i = 0; i < n; i++) {
    if (v[i] <= x) {
      if (solve(x - v[i]) == 2) {
        return dp[x] = 1;
      }
    }
  }
  return dp[x] = 2;
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k;
  for (long long i = 0; i < n; i++) {
    long long l;
    cin >> l;
    v.push_back(l);
  }
  dp[0] = 2;
  cout << (solve(k) ? "First" : "Second") << endl;
}
