#include <bits/stdc++.h>
using namespace std;
int dp[100009];
int *arr;
int n;
int fun(int k) {
  if (dp[k] != -1) return dp[k];
  int ans = 0;
  for (int i = 0; i < n; i++) {
    if (fun(k - arr[i]) == 0) {
      dp[k] = 1;
      return 1;
    }
  }
  dp[k] = 0;
  return 0;
}
void setdp(int k) {
  for (int i = 0; i < k; i++) {
    dp[i] = 0;
  }
  return;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int k;
  cin >> n >> k;
  arr = new int[n];
  int minval = 9999999;
  memset(dp, -1, sizeof(dp));
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    if (arr[i] <= minval) minval = arr[i];
    dp[arr[i]] = 1;
  }
  setdp(minval);
  string ans = (fun(k) == 1 ? "First\n" : "Second\n");
  cout << ans;
}
