#include <bits/stdc++.h>
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
using lld = long double;
using ull = unsigned long int;
using ll = long long;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  const int precision = 13;
  cout.precision(precision);
  cout.setf(ios_base::fixed);
  int n, k;
  cin >> n >> k;
  vector<int> a(n);
  for (auto& it : a) cin >> it;
  vector<bool> nim(k + 1, false);
  for (int i = 1; i <= k; ++i) {
    bool win = false;
    for (int v : a) {
      if (i >= v and nim[i - v] == false) {
        win = true;
        break;
      }
    }
    nim[i] = win;
  }
  cout << (nim[k] ? "First" : "Second") << '\n';
  return 0;
}
