#include <bits/stdc++.h>
using namespace std;
int First = 1, Second = 2;
int toggle(int p) {
  if (p == First) return Second;
  return First;
}
int main() {
  int N, K;
  cin >> N >> K;
  vector<int> A;
  for (int i = 0; i < N; ++i) {
    int a;
    cin >> a;
    A.push_back(a);
  }
  sort((A).begin(), (A).end());
  int min_A = A[0];
  int max_A = A.back();
  vector<int> dp(K + 1, 0);
  for (int k = (0); k < (min_A); ++k) dp[k] = Second;
  dp[min_A] = First;
  for (int k = (min_A + 1); k < (K + 1); ++k) {
    bool can_win = false;
    for (vector<int>::iterator it = A.begin(); it != A.end(); ++it) {
      if (dp[k - (*it)] == Second) can_win = true;
    }
    if (can_win)
      dp[k] = First;
    else
      dp[k] = Second;
  }
  cout << (dp[K] == First ? "First" : "Second") << endl;
}
