#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
const ll INF = 1LL << 30;
const ll LINF = 1LL << 61;
const double eps = 1e-5;
const ll MOD = 1e9 + 7;
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> a(n + 10), g(k + 10);
  for (int i = 0; i < n; i++) cin >> a[i];
  g[0] = 0;
  for (int i = 1; i <= k; i++) {
    vector<int> s;
    for (int j = 0; j < n; j++) {
      if (a[j] > i) continue;
      s.push_back(g[i - a[j]]);
    }
    sort(s.begin(), s.end());
    s.erase(unique(s.begin(), s.end()), s.end());
    bool f = false;
    if (s.size() >= 1 && s[0] > 0) {
      g[i] = 0;
      break;
    }
    for (int j = 1; j < s.size(); j++) {
      if (s[j] > s[j - 1] + 1) {
        g[i] = s[j - 1] + 1;
        f = true;
        break;
      }
    }
    if (s.size() == 1) {
      g[i] = 1;
    } else if (s.size() > 1 && f == false) {
      g[i] = s[s.size() - 1] + 1;
    }
  }
  if (g[k] == 0) {
    cout << "Second" << endl;
  } else {
    cout << "First" << endl;
  }
}
