#include <bits/stdc++.h>
using namespace std;
bool mmnmm(vector<long long> &dp, vector<long long> &data, long long k) {
  if (dp[k] == -1) {
    return false;
  } else if (dp[k] == 1) {
    return true;
  }
  bool state = false;
  for (long long i = 0; i < data.size(); i++) {
    if (k >= data[i]) {
      state |= mmnmm(dp, data, k - data[i]);
    }
  }
  if (state) {
    return dp[k] = 1;
  } else {
    return dp[k] = -1;
  }
}
signed main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  long long n;
  cin >> n;
  ;
  long long k;
  cin >> k;
  ;
  ;
  vector<long long> data(n);
  for (long long i = 0; i < n; i++) {
    cin >> data[i];
  }
  vector<long long> dp(k + 1, 0);
  if (mmnmm(dp, data, k)) {
    cout << "First" << endl;
  } else {
    cout << "Second" << endl;
  }
  for (long long i = 0; i < dp.size(); i++) {
  }
  return 0;
}
