#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  cin.exceptions(cin.failbit), setprecision(12), cout.precision(12);
  ;
  int n, k;
  cin >> n >> k;
  vector<long long> a(n);
  for (auto i = (0) - ((0) > ((long long)(a.size())));
       i != ((long long)(a.size())) - ((0) > ((long long)(a.size())));
       i += 1 - 2 * ((0) > ((long long)(a.size()))))
    cin >> a[i];
  ;
  long long m = a[0];
  for (auto i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
       i += 1 - 2 * ((0) > (n)))
    m = min(m, a[i]);
  vector<bool> ans(k + 1, false);
  ans[m] = true;
  for (auto j = (m + 1) - ((m + 1) > (k + 1));
       j != (k + 1) - ((m + 1) > (k + 1)); j += 1 - 2 * ((m + 1) > (k + 1)))
    for (auto i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
         i += 1 - 2 * ((0) > (n)))
      ans[j] = ans[j] || !ans[j - a[i]];
  cout << (ans[k] ? "First" : "Second") << "\n";
  return 0;
}
