#include <bits/stdc++.h>
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
#pragma GCC optimize("Ofast")
using namespace std;
const long long int INF = (1LL << 62);
const long double pi = acosl((long double)-1);
const long long int mod = 1000000007;
const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {1, 0, -1, 0};
const int ddx[8] = {1, 0, -1, -1, -1, 0, 1, 1};
const int ddy[8] = {1, 1, 1, 0, -1, -1, -1, 0};
template <typename T>
ostream &operator<<(ostream &out, const vector<T> &v) {
  for (long long int i = 0; i < (long long int)((int)v.size() - 1); i++)
    cout << v[i] << " ";
  cout << v[(int)v.size() - 1];
  return out;
}
template <typename T1, typename T2>
ostream &operator<<(ostream &out, const map<T1, T2> &p) {
  out << "(" << p.first << ", " << p.second << ")";
  return out;
}
template <typename T1, typename T2>
ostream &operator<<(ostream &out, const pair<T1, T2> &p) {
  out << "(" << p.first << ", " << p.second << ")";
  return out;
}
template <class T>
void debag(const T &obj) {
  cout << obj << endl;
}
void mex(long long int i, vector<long long int> &ans,
         vector<vector<long long int>> &G, set<long long int> base) {
  for (auto u : G[i]) {
    base.erase(ans[u]);
  }
  ans[i] = *base.begin();
}
bool solve() {
  long long int n, K;
  cin >> n >> K;
  vector<vector<long long int>> G(K + 1);
  vector<long long int> a(n);
  for (long long int i = 0; i < (long long int)(n); i++) cin >> a[i];
  set<long long int> base;
  for (long long int i = 0; i < (long long int)(100); i++) base.insert(i);
  for (long long int i = 0; i < (long long int)(n); i++)
    for (long long int j = 0; j < (long long int)(K + 1); j++) {
      if (j + a[i] <= K) G[j + a[i]].push_back(j);
    }
  vector<long long int> ans(K + 1, -1);
  for (long long int i = 0; i < (long long int)(K + 1); i++) {
    mex(i, ans, G, base);
  }
  cout << (ans[K] != 0 ? "First" : "Second") << endl;
  return false;
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout << fixed << setprecision(30);
  solve();
}
