#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
const int mod = 1e9 + 7;
const long double PI = acos(-1.0);
const int inf = 0x3f3f3f3f;
const long long INF = 0x3f3f3f3f3f3f3f3f;
template <class T>
inline void gmax(T &A, T B) {
  (A < B) && (A = B);
}
template <class T>
inline void gmin(T &A, T B) {
  (A > B) && (A = B);
}
template <class T>
inline bool re(T &ret) {
  char c;
  int sgn;
  if (c = getchar(), c == EOF) return 0;
  while (c != '-' && (c < '0' || c > '9')) c = getchar();
  sgn = (c == '-') ? -1 : 1;
  ret = (c == '-') ? 0 : (c - '0');
  while (c = getchar(), c >= '0' && c <= '9') ret = ret * 10 + (c - '0');
  ret *= sgn;
  return 1;
}
int dp[111111], a[111];
int main() {
  {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
  };
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 1; i <= k; i++) {
    for (int j = 0; j < n; j++)
      if (i >= a[i] && !dp[i - a[i]]) dp[i] = 1;
  }
  if (dp[k])
    cout << "First";
  else
    cout << "Second";
  return 0;
}
