#include <bits/stdc++.h>
using namespace std;
int f(bool turnTaro, vector<int>& A, int K) {
  if (K == 0 and turnTaro)
    return 0;
  else if (K == 0 and !turnTaro)
    return 1;
  else if (K < 0 and turnTaro)
    return 1;
  else if (K < 0 and !turnTaro)
    return 0;
  int res;
  if (turnTaro)
    res = 0;
  else
    res = 1;
  for (int i = 0; i < A.size(); i++) {
    if (turnTaro)
      res = max(res, f(!turnTaro, A, K - A[i]));
    else
      res = min(res, f(!turnTaro, A, K - A[i]));
  }
  return res;
}
int main() {
  int N, K;
  cin >> N >> K;
  vector<int> A(N, 0);
  for (int i = 0; i < N; i++) cin >> A[i];
  bool turnTaro = true;
  if (f(turnTaro, A, K) == 1)
    cout << "First";
  else
    cout << "Second";
  return 0;
}
