#include <bits/stdc++.h>
using namespace std;
const long long MAX = -1000000000000000000;
const long long MIN = 1000000000000000000;
const long long inf = 1000000000;
const long long KOK = 100000;
const long long LOG = 30;
const long long li = 500005;
const long long mod = 1000000007;
int n, m, b[li], a[li], k, flag, t, dp[li];
int cev;
string s;
vector<int> v;
int main(void) {
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  sort(a + 1, a + n + 1);
  for (int i = a[1]; i <= k; i++) {
    for (int j = 1; j <= n; j++) {
      if (dp[i - a[j]] == 0) dp[i] = 1;
    }
  }
  if (dp[k] == 1)
    printf("First\n");
  else
    printf("Second\n");
  return 0;
}
