#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  unsigned n, k, least = 0x3f3f3f3f;
  vector<unsigned> a;
  vector<vector<bool> > dp, ndp;
  cin >> n >> k;
  dp.resize(n + 1, vector<bool>(k + 1, 0));
  ndp.resize(n + 1, vector<bool>(k + 1, 1));
  a.resize(n + 1);
  a[0] = 0;
  for (unsigned i = 1; i <= n; ++i) {
    cin >> a[i];
  }
  sort(a.begin(), a.end());
  for (unsigned i = 1; i <= n; ++i) {
    for (unsigned j = 1; j <= k; ++j) {
      if (j < a[0]) {
        dp[i][j] = 0;
      } else {
        dp[i][j] = dp[i - 1][j] | (j >= a[i] ? !dp[i][j - a[i]] : 0);
      }
    }
  }
  if (dp[n][k])
    cout << "First\n";
  else
    cout << "Second\n";
}
