#include <bits/stdc++.h>
using namespace std;
int a[101];
int n, k;
int f[100005][2];
int F(int sl, int t) {
  if (f[sl][t] != -1) return f[sl][t];
  f[sl][t] = t;
  if (t == 0)
    for (int i = 0; i < n; i++)
      if (sl > a[i])
        f[sl][t] = max(f[sl][t], 1 - F(sl - a[i], 1 - t));
      else
        for (int i = 0; i < n; i++)
          if (sl > a[i]) f[sl][t] = min(f[sl][t], 1 - F(sl - a[i], 1 - t));
  return f[sl][t];
}
int main() {
  memset(f, -1, sizeof(f));
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  if (F(k, 0) == 1)
    cout << "First";
  else
    cout << "Second";
}
