#include <bits/stdc++.h>
using namespace std;
long long N, K;
long long dp[100001];
long long a[101];
long long mini = numeric_limits<long long>::max();
long long ans(long long k) {
  if (k < mini) return 1;
  if (dp[k] != -1) return dp[k];
  for (long long i = 0; i < N; i++) {
    if (ans(k - a[i]) == 1) {
      dp[k] = 0;
      return dp[k];
    }
  }
  dp[k] = 1;
  return dp[k];
}
int main() {
  cin >> N >> K;
  for (long long i = 0; i < N; i++) cin >> a[i], mini = min(mini, a[i]);
  memset(dp, -1, sizeof(dp));
  if (ans(K) == 0)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
  return 0;
}
