#include <bits/stdc++.h>
using namespace std;
int N, K;
int a[100];
int dp[100001];
int dfs(int x) {
  if (dp[x] != -1) return dp[x];
  for (int i = 0; i < N; i++) {
    dp[x - a[i]] = dfs(x - a[i]);
    if (dp[x - a[i]] == 0) {
      dp[x] = 1;
      return 1;
    }
  }
  dp[x] = 0;
  return 0;
}
int main() {
  cin >> N >> K;
  for (int i = 0; i < N; i++) cin >> a[i];
  fill_n(dp, K + 1, -1);
  for (int i = 0; i < a[0]; i++) dp[i] = 0;
  cout << (dfs(K) ? "First" : "Second") << endl;
  return 0;
}
