#include <bits/stdc++.h>
using namespace std;
int n, k, min1 = 200000;
int m[102], grundy[100005];
int solve(int x) {
  if (x < min1) return 0;
  if (grundy[x] != -1) return grundy[x];
  int mex[n + 2];
  for (int i = 0; i <= n + 1; i++) mex[i] = 0;
  for (int i = 1; i <= n; i++) {
    if (m[i] <= x)
      mex[(solve(x - m[i]))] = 1;
    else
      break;
  }
  int y = -1;
  for (int i = 0; i <= n + 1; i++) {
    if (mex[i] == 0) {
      y = i;
      break;
    }
  }
  return y;
}
int main() {
  cin >> n >> k;
  for (int i = 0; i <= k; i++) grundy[i] = -1;
  for (int i = 1; i <= n; i++) {
    cin >> m[i];
    min1 = min(min1, m[i]);
  }
  int kk = solve(k);
  if (kk == 0)
    cout << "Second" << endl;
  else
    cout << "First" << endl;
}
