#include <bits/stdc++.h>
using namespace std;
int N, K;
int a[100], mina;
int memdp[100001];
int dp(int n) {
  if (memdp[n] > -10) {
    return memdp[n];
  } else if (n < mina) {
    memdp[n] = -1;
    return memdp[n];
  } else {
    int maxdp = -10;
    for (int i = 0; i < N; i++) {
      int target = n - a[i];
      if (target >= 0) {
        if (maxdp < (dp(target) * (-1))) {
          maxdp = dp(target) * (-1);
        }
      }
    }
    memdp[n] = maxdp;
    return memdp[n];
  }
}
int main(void) {
  cin >> N >> K;
  mina = INT_MAX;
  for (int i = 0; i < N; i++) {
    cin >> a[i];
    if (a[i] < mina) mina = a[i];
  }
  for (int i = 0; i <= 100001; i++) {
    memdp[i] = -10;
  }
  if (dp(K) == 1)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
  return 0;
}
