#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  int a[n];
  unordered_set<int> m;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    m.insert(a[i]);
  }
  int dp[k + 1];
  memset(dp, 0, sizeof(dp));
  for (int i = a[0]; i <= k; i++) {
    if (m.find(i) != m.end()) {
      dp[i] = 1;
    } else {
      for (int j = 0; j < n; j++) {
        if (!dp[i - a[j]]) {
          dp[i] = 1;
          break;
        }
      }
    }
  }
  if (dp[k])
    cout << "First";
  else
    cout << "Second";
  return 0;
}
