#include <bits/stdc++.h>
using namespace std;

// there is something wrong with unbounded knapsack appraoch.
// if ill use the nims game it will get solved.
vector < vector < bool >dp(100001, vector < bool >(101, false));

bool findWinner(int n, vector < int > &choices) {
  int k = choices.size();
  

  for (int i = 1; i < k + 1; i++) {
    for (int j = 1; j < n + 1; j++) {
      if (j >= choices[i - 1]) {
        dp[i][j] = !(dp[i][j - choices[i - 1]]);
      }
      dp[i][j] = dp[i][j] || dp[i - 1][j];
    }
  }

  return dp[k][n];
}

int main() {
  int n;
  int k;
  cin>>k;
  cin>>n;
  vector < int > choices(k);
  for (int i = 0; i < k; i++) {
    cin>>choices[i];
  }

  bool result = findWinner(n, choices);
  if (result == true) {
    cout<<"First"<<endl;
  } else {
    cout<<"Second"<<endl;
  }
  return 0;
}
