#include <bits/stdc++.h>
using namespace std;
using i32 = int32_t;
using i64 = int64_t;
using vec_i64 = vector<i64>;
using vvec_i64 = vector<vec_i64>;
bool rec(i32 i, vec_i64& a_list, bool first_turn);
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  i32 N, K;
  cin >> N >> K;
  vec_i64 a_list(N);
  for (i32 i = 0; i < N; i++) {
    i32 tmp;
    cin >> tmp;
    a_list.at(i) = tmp;
  }
  bool first_winning = rec(K, a_list, true);
  if (first_winning)
    cout << "First"
         << "\n";
  else
    cout << "Second"
         << "\n";
}
bool rec(i32 i, vec_i64& a_list, bool first_turn) {
  if (first_turn) {
    if (i < a_list.at(0))
      return false;
    else {
      for (i32 j = 0; j < a_list.size(); j++) {
        if (a_list.at(j) > i) break;
        if (rec(i - a_list.at(j), a_list, false)) return true;
      }
      return false;
    }
  } else {
    if (i < a_list.at(0))
      return true;
    else {
      for (i32 j = 0; j < a_list.size(); j++) {
        if (a_list.at(j) > i) break;
        if (!(rec(i - a_list.at(j), a_list, true))) return false;
      }
      return true;
    }
  }
}
