#include <bits/stdc++.h>
using namespace std;
int dp[100007][2];
int n, m;
int arr[107];
int f(int k, int i) {
  if (k < m) return !i;
  if (dp[k][i] != -1) return dp[k][i];
  int a = f(k - arr[0], !i);
  if (i == 0)
    for (int j = 1; j < n; j++) a = min(a, f(k - arr[j], !i));
  else
    for (int j = 1; j < n; j++) a = max(a, f(k - arr[j], !i));
  return dp[k][i] = a;
}
int main() {
  memset(dp, -1, sizeof(dp));
  int k, i;
  cin >> n >> k;
  cin >> arr[0];
  m = arr[0];
  for (i = 1; i < n; i++) {
    cin >> arr[i];
    m = min(m, arr[i]);
  }
  if (!f(k, 0))
    cout << "First";
  else
    cout << "Second";
  return 0;
}
