#include <bits/stdc++.h>
using namespace std;
int dx8[] = {0, 0, 1, 1, 1, -1, -1, -1};
int dy8[] = {1, -1, 1, -1, 0, 0, -1, 1};
const double PI = acos(-1.0);
const double EPS = 1e-6;
const int MOD = (int)1e9 + 7;
const int maxn = 105;
const int LOGN = 20;
int n, k, a[102];
int win_dp[maxn];
int cal(int stone) {
  if (stone < a[1]) return 0;
  int &win = win_dp[stone];
  if (win != -1) return win;
  win = 0;
  for (int i = 1; i <= (n); i++)
    if (a[i] <= stone) win |= !cal(stone - a[i]);
  return win;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> k;
  for (int i = 1; i <= (n); i++) cin >> a[i], win_dp[a[i]] = 1;
  memset(win_dp, -1, sizeof(win_dp));
  int win = cal(k);
  if (win)
    cout << "First\n";
  else
    cout << "Second\n";
  return 0;
}
