#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, OO = 0x3F3F3F3F;
int n, k, dp[N][3];
vector<int> a;
bool solve(int rem, bool p) {
  if (rem < 0) return p;
  int& ret = dp[rem][p];
  if (~ret) return ret;
  for (int i = 0; i < n; ++i)
    if (solve(rem - a[i], !p) == p) return ret = p;
  return ret = !p;
}
int main() {
  scanf("%d %d", &n, &k);
  a.resize(n);
  for (int& x : a) scanf("%d", &x);
  if (n == 1) {
    puts("Second");
    return 0;
  }
  memset(dp, -1, sizeof dp);
  bool ans = solve(k, 0);
  puts(ans ? "Second" : "First");
  return 0;
}
