#include <bits/stdc++.h>
using namespace std;
long long mod = 1e9 + 7;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
const long long inf = 1ll << 60;
int n, k;
vector<int> a;
vector<int> dp(100100, -1);
int m;
int rc(int k) {
  if (dp.at(k) > 0) return dp.at(k);
  if (k < m) {
    dp.at(k) = 2;
    return 2;
  }
  for (int i = 0; i < n; i++) {
    if (a.at(i) >= m) {
      if (rc(k - a.at(i)) == 2) {
        dp.at(k) = 1;
        return 1;
      }
    }
  }
  dp.at(k) = 2;
  return 2;
}
int main() {
  scanf("%d%d", &n, &k);
  a.assign(n, 0);
  for (int i = 0; i < n; i++) scanf("%d", &a.at(i));
  m = *min_element(a.begin(), a.end());
  if (rc(k) == 1) {
    printf("First");
    return 0;
  } else {
    printf("Second");
    return 0;
  }
}
