#include <bits/stdc++.h>
using namespace std;
int mod(int first, int second) {
  int s;
  s = abs(first) / second;
  if (first < 0) s--;
  return first - second * s;
}
int dir8[2][8] = {{1, -1, 0, 0, 1, -1, 1, -1}, {0, 0, 1, -1, 1, -1, -1, 1}};
int dir4[2][4] = {{1, -1, 0, 0}, {0, 0, 1, -1}};
int m, n, row, col, k;
int ara[105];
int deepee[100006];
void solve() {
  scanf("%d%d", &n, &k);
  memset(deepee, -1, sizeof deepee);
  for (int w = 0; w < n; w++) {
    scanf("%d", &ara[w]);
    m = (w == 0) ? ara[w] : min(m, ara[w]);
  }
  for (int q = 0; q < m; q++) deepee[q] = 1;
  for (int w = m; w <= k; w++) {
    deepee[w] = 1;
    for (int q = 0; q < n; q++) {
      if (deepee[w - ara[q]] == 1) {
        deepee[w] = 0;
      }
    }
  }
  if (deepee[k])
    printf("Second\n");
  else
    printf("First\n");
}
void test() {
  int t;
  t = 1;
  for (int test = 1; test <= t; test++) {
    solve();
  }
}
int main() {
  test();
  return 0;
}
