#include <bits/stdc++.h>
using namespace std;
int arr[110], n;
int dp[100010][2];
int solve(int K, int player) {
  if (K < arr[0]) {
    return 1 - player;
  }
  if (dp[K][player] != -1) return dp[K][player];
  int ans = 1 - player;
  if (player) {
    for (int i = 0; i < n; i++) {
      ans = ans | solve(K - arr[i], 1 - player);
    }
  } else {
    for (int i = 0; i < n; i++) {
      ans = ans & solve(K - arr[i], 1 - player);
    }
  }
  dp[K][player] = ans;
  return ans;
}
int main() {
  int k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  memset(dp, -1, sizeof dp);
  if (solve(k, 0)) {
    cout << "Second" << endl;
  } else {
    cout << "First" << endl;
  }
  return 0;
}
