#include <bits/stdc++.h>
using namespace std;
int dp[100010];
int fun(int k, int ar[], int n, int val) {
  if (k < ar[0]) {
    if (k >= 0) dp[k] = 0;
    return 0;
  }
  if (dp[k] >= 0) return dp[k];
  for (int j = 0; j < n; j++) val = max(val, 1 - fun(k - ar[j], ar, n, 0));
  if (val == 0)
    dp[k] = 0;
  else
    dp[k] = 1;
  return dp[k];
}
int main() {
  int n, k, i;
  scanf("%d%d", &n, &k);
  int ar[n + 1];
  memset(dp, -1, sizeof(dp));
  for (i = 0; i < n; i++) scanf("%d", ar + i);
  fun(k, ar, n, 0);
  if (dp[k] == 1)
    printf("First\n");
  else
    printf("Second\n");
}
