#include <bits/stdc++.h>
using namespace std;
int func(int c, int k, vector<vector<int>>& dp, vector<int>& arr, int n,
         int minele) {
  if (k < minele) return 0;
  if (dp[k][c] != -1) {
    return dp[k][c];
  }
  int ans = 0;
  for (int i = 0; i < n; i++) {
    ans = ans || !func(!c, k - arr[i], dp, arr, n, minele);
  }
  dp[k][c] = ans;
  return ans;
}
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> arr(n);
  int minele = INT_MAX;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    minele = min(minele, arr[i]);
  }
  vector<vector<int>> dp(k + 1, vector<int>(2, -1));
  func(0, k, dp, arr, n, minele);
  if (dp[k][0]) {
    cout << "First";
  } else {
    cout << "Second";
  }
}
