#include <bits/stdc++.h>
using namespace std;
map<int, bool> dp;
int solve(int arr[], int n, int k) {
  if (k <= 0) {
    return false;
  }
  if (dp.find(k) != dp.end()) return dp[k];
  bool ans = true;
  for (int i = 0; i < n; i++) {
    if (arr[i] <= k) {
      ans &= solve(arr, n, k - arr[i]);
    } else {
      break;
    }
  }
  return dp[k] = !ans;
}
int main() {
  int n, k;
  cin >> n >> k;
  int arr[n];
  for (int i = 0; i < n; i++) cin >> arr[i];
  dp.clear();
  if (solve(arr, n, k)) {
    cout << "First\n";
  } else {
    cout << "Second\n";
  }
}
