#include <bits/stdc++.h>
const long long INF = (long long)1e9 + 1;
using namespace std;
void solve();
void fastIO() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
}
int main() {
  fastIO();
  solve();
}
long long int pw(long long int k, long long int x);
long long int gcd(long long int x, long long int y);
int dp[100001];
int n, k;
int a[101];
int func(int y, int k);
void solve() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  memset(dp, -1, sizeof(dp));
  int x = func(k, 0);
  if (x == 0)
    cout << "Second";
  else
    cout << "First";
}
int func(int y, int f) {
  if (y == 0) return 1;
  if (y < 0) return 0;
  if (dp[y] != -1) return dp[y];
  int cnt = 0;
  for (int i = 1; i <= n; i++) {
    cnt += func(y - a[i - 1], 1 - f);
  }
  if (f == 0 && cnt == n)
    dp[y] = 0;
  else
    dp[y] = cnt > 0 ? 1 : 0;
  return dp[y];
}
long long int gcd(long long int x, long long int y) {
  if (x == 0)
    return y;
  else
    return gcd(y % x, x);
}
long long int pw(long long int k, long long int x) {
  if (x == 0) return 1;
  if (x & 1)
    return ((pw(k, x - 1) % 1000000007) * k % 1000000007) % 1000000007;
  else
    return ((pw(k, x / 2) % 1000000007) * (pw(k, x / 2) % 1000000007)) %
           1000000007;
}
