#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
const long long LINF = 1e18;
const long long MOD = 1e9 + 7;
int n, k;
int a[100];
int dp[2][100000 + 1];
int rec(int turn, int k) {
  if (dp[turn][k] != -1) return dp[turn][k];
  for (int i = 0; i < (n); i++) {
    if (k - a[i] >= 0) goto ok;
  }
  return dp[turn][k] = (turn == 1) ? 0 : 1;
ok:;
  if (turn) {
    for (int i = 0; i < (n); i++) {
      if (rec(!turn, k - a[i]) == 1) return dp[turn][k] = 1;
    }
    return dp[turn][k] = 0;
  } else {
    for (int i = 0; i < (n); i++) {
      if (rec(!turn, k - a[i]) == 0) return dp[turn][k] = 0;
    }
    return dp[turn][k] = 1;
  }
}
signed main() {
  cin >> n >> k;
  for (int i = 0; i < (n); i++) {
    cin >> a[i];
  }
  memset(dp, -1, sizeof(dp));
  if (rec(true, k) == 1)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
  return 0;
}
