#include <bits/stdc++.h>
using namespace std;
bool dp[(int)(1e5 + 1)];
int a[100];
int n, k;
int top(int i) {
  if (i < a[0]) return 0;
  for (int j = 0; j < n; j++) {
    if (a[j] > i) break;
    if (!top(i - a[j])) return dp[i] = 1;
  }
  return dp[i] = 0;
}
int main() {
  memset(dp, 0, sizeof(dp));
  cin >> n;
  cin >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  string ans = top(k) ? "First" : "Second";
  cout << ans << endl;
}
