#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[100];
int dp[N];
int f(int n, int k, int l) {
  if (dp[n] != 0) return dp[n];
  int w = -1;
  for (int j = 0; j < k; j++)
    if (n - a[j] >= 0 && dp[n] == 0) {
      if (f(n - a[j], k, l) == 2) {
        w = 1;
        dp[n] = 1;
        break;
      }
      w = 0;
    }
  if (w == 0) dp[n] = 2;
}
int main() {
  int n, k, min = 1;
  cin >> k >> n;
  dp[0] = 2;
  for (int i = 0; i < k; i++) {
    cin >> a[i];
    dp[a[i]] = 1;
    if (min < dp[i]) min = dp[i];
  }
  f(k, k, n);
  cout << (dp[n] == 1 ? "First" : "Second");
  cin >> n;
  return 0;
}
