#include <bits/stdc++.h>
using namespace std;
long long int mimima, k;
vector<long long int> dp;
vector<long long int> visited;
vector<bool> a;
bool solve(long long int v) {
  if (0 < v && v < mimima) return dp[v] = false;
  if (v <= 0) return false;
  if (a[v] == 1) return dp[v] = true;
  if (visited[v] != 0) return dp[v];
  visited[v] = 1;
  bool flag = true;
  for (int i = 1; i < k + 1; i++) {
    if (a[i] == 1) flag = solve(v - i) && flag;
  }
  return dp[v] = !flag;
}
int main() {
  long long int n;
  cin >> n;
  cin >> k;
  mimima = k;
  a = vector<bool>(k + 1, 0);
  for (int i = 0; i < n; i++) {
    long long int x;
    cin >> x;
    a[x] = 1;
    mimima = min(mimima, x);
  }
  dp = vector<long long int>(k + 1, 0);
  visited = vector<long long int>(k + 1, 0);
  if (solve(k))
    cout << "First";
  else
    cout << "Second";
  return 0;
}
