#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
using ld = long double;
using vi = vector<int>;
using vll = vector<ll>;
using vd = vector<double>;
int ctoi(char c) { return c - '0'; }
const int mxn = 105, mxk = 1e5 + 5;
int a[mxk];
int dp[mxn][mxk];
int N, K;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cin >> N >> K;
  for (int i = 0; i < N; i++) {
    cin >> a[i + 1];
  }
  sort(a + 1, a + 1 + N);
  for (int i = 1; i <= N; i++) {
    for (int j = 0; j <= K; j++) {
      dp[i][j] = dp[i - 1][j];
      if (j == a[i]) dp[i][j] = 1;
      if (j > a[i]) {
        int ok = 0;
        for (int k = i; k >= 1; k--) {
          if (!dp[k][j - a[k]]) {
            ok = 1;
            break;
          }
        }
        dp[i][j] = ok;
      }
    }
  }
  cout << (dp[N][K] ? "First" : "Second") << endl;
  return 0;
}
