#include <bits/stdc++.h>
namespace solver {
using namespace std;
long long N, K, A[110], maxa = -1, mina = (1LL << 60);
bool dp[100010];
void init() {
  scanf("%lld %lld", &N, &K);
  for (long long i = (long long)(0); i < (long long)(N); i++) {
    scanf("%lld", A + i);
    maxa = max(maxa, A[i]);
    mina = min(mina, A[i]);
  }
}
void solve() {
  for (long long i = (long long)(0); i < (long long)(mina); i++) dp[i] = false;
  for (long long i = (long long)(mina); i < (long long)(mina + maxa); i++)
    dp[i] = true;
  for (long long i = (long long)(mina + maxa); i <= (long long)(K); i++) {
    bool res = false;
    for (long long j = (long long)(0); j < (long long)(N); j++)
      if (!dp[i - A[j]]) res = true;
    dp[i] = res;
  }
  printf("%s\n", dp[K] ? "First" : "Second");
}
}  // namespace solver
int main() {
  solver::init();
  solver::solve();
  return 0;
}
