#include <bits/stdc++.h>
int dp[10000 + 2][2];
int arr[101];
int n, k;
int dfs(int k, int t) {
  if (dp[k][t] >= 0) {
    return dp[k][t];
  }
  int ans = 0;
  for (int i = 0; i < n; ++i) {
    if (arr[i] <= k) ans |= !dfs(k - arr[i], !t);
  }
  return dp[k][t] = ans;
}
int main() {
  std::cin >> n;
  std::cin >> k;
  for (int i = 0; i < n; ++i) {
    int j;
    std::cin >> j;
    arr[i] = j;
  }
  memset(dp, -1, sizeof(dp));
  if (dfs(k, 0) == true)
    printf("First\n");
  else
    printf("Second\n");
  return 0;
}
