#include <bits/stdc++.h>
using namespace std;
int arr[105], dp[100005][2], n, k;
int rek(int k1, int x) {
  if (k1 <= 10000) cout << k1 << " " << x << " " << dp[k1][x] << endl;
  if (dp[k1][x] != -1) return dp[k1][x];
  int b1 = 0;
  for (int i = 0; i < n; i++) {
    if (k1 >= arr[i] && rek(k1 - arr[i], (1 xor x)) == x) b1 += 1;
  }
  int ret;
  if (b1 > 0)
    ret = x;
  else
    ret = (1 xor x);
  dp[k1][x] = ret;
  return ret;
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  memset(dp, -1, sizeof(dp));
  if (rek(k, 0) == 0)
    cout << "First";
  else
    cout << "Second";
  return 0;
}
