#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
using vb = vector<bool>;
using vl = vector<long>;
using vs = vector<string>;
using vvi = vector<vector<int>>;
using vvb = vector<vector<bool>>;
using vvc = vector<vector<char>>;
using vvl = vector<vector<long>>;
using pii = pair<int, int>;
using pil = pair<int, long>;
using pll = pair<long, long>;
vi dp(100010, -1);
int dfs(vi &a, int i) {
  if (dp[i] != -1) return dp[i];
  if (i < a[0]) return dp[i] = 0;
  int ret = 0;
  for (int v : a) {
    ret |= (1 - dfs(a, i - v));
  }
  return dp[i] = ret;
}
int main() {
  int n, k;
  cin >> n >> k;
  vi a(n);
  for (int i = 0; i < (int)(n); i++) cin >> a[i];
  sort(a.begin(), a.end());
  if (dfs(a, k) == 1)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
}
