#include <bits/stdc++.h>
using namespace std;
map<pair<long long int, long long int>, long long int> mymap;
unordered_map<long long int, long long int> mymap2;
long long int backtrack(long long int mine, long long int arr[],
                        long long int turn, long long int n, long long int k) {
  if (mymap[{k, turn}]) return mymap[{k, turn}];
  if (mymap2[k]) return turn;
  if (k < mine) {
    mymap[{k, turn}] = !turn;
    return !turn;
  }
  for (long long int i = 0; i < n; i++) {
    int winner = backtrack(mine, arr, !turn, n, k - arr[i]);
    if (winner == turn) return turn;
  }
  return !turn;
}
int main() {
  long long int n, k;
  cin >> n >> k;
  long long int arr[n];
  long long int mine = INT_MAX;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    mine = min(arr[i], mine);
    mymap2[arr[i]]++;
  }
  int ans = backtrack(mine, arr, 0, n, k);
  if (ans == 0)
    cout << "First" << endl;
  else
    cout << "Second" << endl;
}
