#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 10;
const int maxk = 1e5 + 10;
template <typename T>
void read(T &x) {
  T f = 1;
  x = 0;
  char s = getchar();
  while (s < '0' || s > '9') {
    if (s == '-') f = -1;
    s = getchar();
  }
  while (s >= '0' && s <= '9') {
    x = (x << 3) + (x << 1) + s - 48;
    s = getchar();
  }
  x *= f;
}
int n, k;
int a[maxn];
bool f[maxk];
int main() {
  read(n);
  read(k);
  for (register int i = 1; i <= n; i++) read(a[i]);
  for (register int i = 1; i <= n; i++) {
    for (register int j = k; j >= a[i]; j--) {
      f[j] = !f[j - a[i]];
    }
  }
  if (f[k]) {
    cout << "First" << endl;
  } else
    cout << "Second" << endl;
  return 0;
}
