#include <bits/stdc++.h>
using namespace std;
const double EPS = (1e-7);
const long long OO = INT_MAX, mod = 1e9 + 7;
void run() {}
void fast() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
}
long long n, m, k, t;
vector<long long> v;
int dp[100005];
int solve(int x) {
  if (x < 0) return 1;
  int& ret = dp[x];
  if (~ret) return ret;
  ret = 0;
  for (int i = 0; i < n; i++) {
    ret |= (solve(x - v[i]) ^ 1);
    if (ret) return 1;
  }
  return ret;
}
int main() {
  run();
  fast();
  ;
  cin >> n >> m;
  string ar[] = {"Second", "First"};
  v.resize(n);
  memset(dp, -1, sizeof dp);
  for (int i = 0; i < n; i++) cin >> v[i];
  for (int i = 0; i < v[0]; i++) dp[i] = 0;
  cout << ar[solve(m)] << "\n";
}
