#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> a;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    a.push_back(x);
  }
  sort(a.begin(), a.end());
  vector<vector<bool>> dp(n + 3, vector<bool>(k + 4, 0));
  for (int i = 0; i <= k; i++) {
    if (i >= a[0]) dp[0][i] = (!dp[0][i - a[0]]);
  }
  for (int i = 1; i < n; i++) {
    for (int j = 1; j <= k; j++) {
      if (j < a[i])
        dp[i][j] = dp[i - 1][j];
      else
        dp[i][j] = dp[i - 1][j] | (!dp[i][j - a[i]]);
    }
  }
  if (dp[n - 1][k])
    cout << "First";
  else
    cout << "Second";
}
