#include <bits/stdc++.h>
using namespace std;
int arr[100];
long long n, o;
int dp[100005];
long long finds(long long k) {
  if (k == 0) return dp[0] = 2;
  if (k < 0) return 1;
  if (dp[k] != -1) return dp[k];
  for (int i = 0; i < n; i++) {
    if (finds(k - arr[i]) == 0) {
      dp[k] = 2;
      return dp[k];
    }
  }
  dp[k] = 1;
  return dp[k];
}
int main() {
  long long k;
  cin >> n >> k;
  memset(dp, -1, sizeof dp);
  long long brr[n];
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
  }
  int f = finds(k);
  if (f == 1)
    cout << "First";
  else
    cout << "Second";
}
