#include <bits/stdc++.h>
using namespace std;
int const MX = 100009;
int N, K, a[MX], dp[MX][2];
int const lose = 2, win = 1;
void read_input() {
  cin >> N >> K;
  for (int i = 1; i <= N; ++i) {
    cin >> a[i];
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  read_input();
  for (int i = 0; i < a[0]; ++i) {
    dp[i][0] = dp[i][1] = 0;
  }
  for (int k = 0; k <= K; ++k) {
    for (int p = 0; p <= 1; ++p) {
      for (int i = 1; i <= N; ++i) {
        int n = a[i];
        if (n > k) dp[k][p] = lose;
        if (dp[k - n][1 - p] == lose) {
          dp[k][p] = win;
          break;
        }
      }
      if (dp[k][p] == 0) dp[k][p] = lose;
    }
  }
  if (dp[K][0] == win)
    cout << "First" << '\n';
  else
    cout << "Second" << '\n';
}
