#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, K;
  cin >> N >> K;
  vector<bool> dp(K + 1);
  vector<int> a(N);
  for (int i = 0; i < N; i++) cin >> a.at(i);
  for (int i = 0; i < a.at(0); i++) dp[i] = false;
  for (int i = 0; i < N; i++) dp[a.at(i)] = true;
  set<int> S;
  for (int i = 0; i < N; i++) S.insert(a.at(i));
  for (int i = a.at(0) + 1; i <= K; i++)
    if (!S.count(i)) {
      bool x = false;
      for (int j = 0; j < N; j++) {
        if (0 <= i - a.at(j)) {
          if (dp[i - a.at(j)]) {
            x = true;
            break;
          }
        }
      }
      dp[i] = x;
    }
  if (dp[K])
    cout << "First" << endl;
  else
    cout << "Second" << endl;
  return 0;
}
