#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a / gcd(a, b) * b; }
void c_p_c() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
bool compare(pair<int, int> a, pair<int, int> b) { return a.first > b.first; }
bool checkYear(int year) {
  return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
}
int n, minn = INT_MAX;
int a[100];
int dp[100001][2];
int recur(int k, int c) {
  if (k < minn) return c ^ 1;
  if (k == minn) return c;
  if (dp[k][c] != -1) return dp[k][c];
  for (int i = 0; i < n; i++) {
    int x = recur(k - a[i], c ^ 1);
    if (x == c) return dp[k][c] = c;
  }
  return dp[k][c] = c ^ 1;
}
int main() {
  int k;
  memset(dp, -1, sizeof(dp));
  cin >> n >> k;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
    minn = min(a[i], minn);
  }
  if (recur(k, 0) == 0)
    cout << "First";
  else
    cout << "Second";
}
