#include <bits/stdc++.h>
using namespace std;
int k, n, visit[100005], dp[100005][3], a[101], mini = 100005;
void boost() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
int solve(int curr, int d) {
  int i, ans = 1;
  if (dp[curr][d] != -1) return dp[curr][d];
  if (visit[curr] == 1) {
    dp[curr][1 - d] = 1 - d;
    return dp[curr][d] = d;
  }
  if (curr < mini) {
    dp[curr][1 - d] = d;
    return dp[curr][d] = 1 - d;
  }
  for (i = 0; i < n; i++) {
    if ((curr - a[i]) > 0) {
      ans = min(solve(curr - a[i], 1 - d), ans);
    }
  }
  dp[curr][1 - d] = 1 - ans;
  dp[curr][d] = ans;
  return dp[curr][d];
}
int main() {
  int i;
  boost();
  memset(visit, 0, sizeof(visit));
  memset(dp, -1, sizeof(dp));
  cin >> n >> k;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    visit[a[i]] = 1;
    mini = min(a[i], mini);
  }
  if (solve(k, 0))
    cout << "Second" << endl;
  else
    cout << "First" << endl;
  return 0;
}
