#include <bits/stdc++.h>
using namespace std;
const double PI = 3.14159265358979323846;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
long long n, k;
long long a[120];
long long dp[(int)1e5 + 10];
int main() {
  cout << fixed << setprecision(10);
  cin >> n >> k;
  for (long long i = 0; i < n; i++) cin >> a[i];
  memset(dp, -1, sizeof(dp));
  for (long long i = 0; i < k; i++) {
    if (dp[i] < 0) dp[i] = 0;
    for (long long j = 0; j < n; j++) {
      long long nxt = i + a[j];
      chmax(dp[nxt], dp[i] ^ 1);
    }
  }
  if (dp[k])
    puts("First");
  else
    puts("Second");
}
