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

#define ll long long

#define rep(i,a,b) for(ll i=a;i<b;i++)
#define repb(i,a,b) for(ll i=a;i>=b;i--)
#define repA(i,A)   for(auto i:A)

#define err() cout<<"=================================="<<endl;
#define errA(A) for(auto i:A)   cout<<i<<" ";cout<<endl;
#define err1(a) cout<<#a<<" "<<a<<endl
#define err2(a,b) cout<<#a<<" "<<a<<" "<<#b<<" "<<b<<endl
#define err3(a,b,c) cout<<#a<<" "<<a<<" "<<#b<<" "<<b<<" "<<#c<<" "<<c<<endl
#define err4(a,b,c,d) cout<<#a<<" "<<a<<" "<<#b<<" "<<b<<" "<<#c<<" "<<c<<" "<<#d<<" "<<d<<endl

#define mp make_pair
#define pb push_back
#define all(A)  A.begin(),A.end()
#define ft first
#define sd second

#define pll pair<ll,ll>
#define V vector<ll>
#define S set<ll>
#define VV vector<V>

#define endl "\n"

const ll logN = 20;
const ll N = 100005;
const ll M = 1000000007;
#define PI 3.14159265

int main(){
  ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  ll n, k;
  cin>>n>>k;
  ll dp[k+1] = {0};
  ll x;
  rep(i, 0, n){
    cin>>x;
    dp[x] = 1;
  }
  rep(i, 1, k+1){
    if(dp[i] == 0){
      rep(j, 1, (i/2)+1){
        if(i == k){
            if(dp[j] == 0 && dp[i-j] != 0){
                  dp[i] = dp[i-j];
//                  cout<<"a";
                  break;
            }
            else if(dp[i-j] == 0 && dp[j] != 0){
                  dp[i] = dp[j];
//                  cout<<"b";
                  break;
            }
        }
        if(dp[j] != 0 && dp[i-j] != 0) dp[i] = 2;
        if((dp[j]+dp[i-j])%2 == 1 && dp[j] != 0 && dp[i-j] != 0){
            dp[i] = 1;
//            cout<<"d";
            break;
        }
      }
//      if(dp[i] == 0) dp[i] = 2;
    }
  }
//  rep(i, 1, k+1) cout<<dp[i]<<" ";
//  cout<<endl;
  if(dp[k] == 1) cout<<"First";
  else cout<<"Second";
  return 0;
}
