#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n, k;
vector<int> arr;
int dp[100000 + 1][1];
bool fun(int k, bool player) {
  if (k == 0) return player ^ 1;
  if (dp[k][player] != -1) return dp[k][player];
  for (int i = 0; i < n; i++) {
    if (k - arr[i] < 0) break;
    if (dp[k - arr[i]][player ^ 1] == -1) {
      dp[k - arr[i]][player ^ 1] = fun(k - arr[i], player ^ 1);
    }
    if (dp[k - arr[i]][player ^ 1] == player) {
      return dp[k - arr[i]][player ^ 1];
    }
  }
  return dp[k][player] = player ^ 1;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  memset(dp, -1, sizeof(dp));
  cin >> n >> k;
  arr = vector<int>(n);
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  if (fun(k, 0) + 1 == 1)
    cout << "First";
  else
    cout << "Second";
  return 0;
}
