#include <bits/stdc++.h>
using namespace std;
int func(vector<int> arr, int n, int k, int minv) {
  int dp[k + 1];
  for (int i = 0; i < minv; i++) dp[i] = 0;
  for (int i = minv; i <= k; i++) {
    for (int p = 0; p < n; p++) {
      int rem = i - arr[p];
      dp[i] &= dp[rem];
    }
    dp[i] = !dp[i];
  }
  return dp[k];
}
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> arr(n);
  for (int i = 0; i < n; i++) cin >> arr[i];
  int minv = *min_element(arr.begin(), arr.end());
  int ans = func(arr, n, k, minv);
  if (ans == 1)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
}
