#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> a;
unordered_map<int, unordered_map<int, int>> dp;
bool game(int k, bool role) {
  if (dp[k].count(role)) return dp[k][role];
  bool z = 1;
  for (int i = 0; i < n; i++) {
    if (a[i] <= k) {
      z &= game(k - a[i], !role);
    }
  }
  return dp[k][role] = !z;
}
int main() {
  int k;
  cin >> n;
  cin >> k;
  a = vector<int>(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  bool is = game(k, 0);
  cout << (is ? "First" : "Second") << '\n';
  return 0;
}
