#include <bits/stdc++.h>
const int MAX_N = 105;
const int MAX_K = 100005;
int dp[MAX_K][MAX_N][2];
int a[MAX_N];
int N, K;
int main() {
  scanf("%d %d", &N, &K);
  for (int i = 0; i < N; ++i) {
    scanf("%d", a + i);
  }
  for (int i = 0; i < a[0]; ++i)
    for (int j = 0; j < N; ++j) dp[i][j][0] = dp[i][j][1] = 0;
  for (int k = a[0]; k <= K; ++k) {
    for (int i = 0; i < N; ++i) {
      for (int p = 0; p < 2; ++p) {
        if (i > 0) dp[k][i][p] |= dp[k][i - 1][p];
        if (k - a[i] >= 0) dp[k][i][p] |= !dp[k - a[i]][i][!p];
      }
    }
  }
  printf("%s\n", dp[K][N - 1][0] ? "First" : "Second");
}
