#include <bits/stdc++.h>
using namespace std;
constexpr int kMod = 1000000007;
template <typename T>
istream& operator>>(istream& is, vector<T>& vs) {
  for (T& v : vs) is >> v;
  return is;
}
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& vs) {
  for (const T& v : vs) os << v << " ";
  return os;
}
int main() {
  int N, K;
  cin >> N >> K;
  vector<int> A(N);
  cin >> A;
  vector<bool> dp(N + 1, false);
  for (int i = 1; i <= K; ++i) {
    for (int j : A) {
      if (i - j < 0) break;
      dp[i] = dp[i] || !dp[i - j];
    }
  }
  if (dp[K])
    cout << "First" << endl;
  else
    cout << "Second" << endl;
}
