#include <bits/stdc++.h>
using namespace std;
int grundy[100006];
int a[101];
int n, k;
int cal_mex(vector<bool> &tmp) {
  int i;
  for (i = 0; i <= k; i++) {
    if (tmp[i] == false) return i;
  }
  return 0;
}
int cal_grundy(int id) {
  if (id == 0) return 0;
  if (grundy[id] != -1) return grundy[id];
  vector<bool> tmp(k + 5, false);
  for (int i = 0; i < n; i++) {
    if (id >= a[i]) {
      tmp[cal_grundy(id - a[i])] = true;
    }
  }
  grundy[id] = cal_mex(tmp);
  return grundy[id];
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  memset(grundy, -1, sizeof grundy);
  int i;
  for (i = 0; i < n; i++) {
    cin >> a[i];
  }
  int tmp = cal_grundy(k);
  if (tmp == 0) {
    cout << "Second\n";
  } else {
    cout << "First\n";
  }
}
