#include <bits/stdc++.h>
using namespace std;
const int INF = 1145141919, MOD = 1e9 + 7;
const long long LINF = 8931145141919364364, LMOD = 998244353;
inline long long mod(long long n, long long m) { return (n % m + m) % m; }
int n, k;
int a[110];
int dp[100010][2];
int dfs(int num, int who) {
  if (dp[num][who] != -1) return dp[num][who];
  int ret = (who + 1) % 2;
  bool flg = 1;
  for (int i = 0; i < n; i++) {
    if (num - a[i] >= 0) {
      int tmp = dfs(num - a[i], (who + 1) % 2);
      if (tmp == who) ret = tmp;
      flg = 0;
    }
  }
  if (flg) {
    dp[num][who] = (who + 1) % 2;
    return dp[num][who];
  }
  return ret;
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  if (n == 1) {
    cout << (k / a[0] % 2 ? "First" : "Second") << endl;
    return 0;
  }
  for (int i = 0; i < 100010; i++)
    for (int j = 0; j < 2; j++) dp[i][j] = -1;
  cout << (dfs(k, 0) ? "Second" : "First") << endl;
  return 0;
}
