#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
using vll = vector<long long>;
long long fast_exp(long long base, long long e) {
  long long r = 1;
  while (e > 0) {
    if (e % 2) r = (r * base);
    base = base * base;
    e /= 2;
  }
  return r;
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> v(n);
  for (int i = 0; i < n; i++) cin >> v[i];
  vector<char> dp(k + 1, 'L');
  int i = 0;
  int x = 0;
  while (1) {
    for (i = i; i <= k; i++) {
      if (dp[i] == 'L') break;
    }
    for (int j = 0; j < n; j++) {
      if (i == k) {
        x = 1;
        break;
      }
      if (i + v[j] > k) break;
      dp[i + v[j]] = 'W';
    }
    if (x == 1) break;
    i++;
  }
  if (dp[k] == 'W')
    cout << "First";
  else
    cout << "Second";
}
