#include <bits/stdc++.h>
using namespace std;
void initialize(vector<int> &F, int n) {
  F = vector<int>(n + 1, 0);
  for (int i = 2; i * i <= n; i++) {
    if (F[i] == 0)
      for (int k = i * i; k <= n; k += i)
        if (F[k] == 0) F[k] = i;
  }
}
int n, k;
vector<int> a;
int meme[2][110000];
bool solve(bool turn, int k) {
  int &ret = meme[turn][k];
  if (ret != -1) return ret;
  for (int i = 0; i < n; i++) {
    if (a[i] <= k && solve(!turn, k - a[i]) == turn) return ret = turn;
  }
  return ret = !turn;
}
int main() {
  cin >> n >> k;
  a = vector<int>(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  int mn = *min_element(a.begin(), a.end());
  for (int i = 0; i < mn; i++) {
    meme[0][i] = 1;
    meme[1][i] = 0;
  }
  for (int i = mn; i <= k; i++) {
    meme[0][i] = 1;
    meme[1][i] = 0;
    for (int j = 0; j < n; j++) {
      if (i - a[j] < 0) continue;
      for (int turn = 0; turn < 2; turn++) {
        if (meme[!turn][i - a[j]] == turn) meme[turn][i] = turn;
      }
    }
  }
  cout << ((meme[0][k]) ? "Second" : "First");
}
