#include <bits/stdc++.h>
const int MAX_N = 305;
bool dp[10000025][2];
int arr[MAX_N], n;
bool dfs(int k, int t) {
  if (dp[k][t] > 0) return dp[k][t];
  bool ans = 0;
  for (int i = 1; i <= n; ++i)
    if (k >= arr[i]) ans = !dfs(k - arr[i], !t);
  return dp[k][t] = ans;
}
int main() {
  int k;
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; ++i) scanf("%d", &arr[i]);
  if (dfs(k, 0) == false)
    printf("Second\n");
  else
    printf("First\n");
  return 0;
}
