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