#include <bits/stdc++.h>
using namespace std;
#define mem(a, b) memset(a, (b), sizeof(a))
#define fore(i,a) for(int i=0;i<a;i++)
#define fore1(i,j,a) for(int i=j;i<a;i++)
#define print(ar) for(int i=0;i<ar.size();i++)cout<<ar[i]<<" ";
#define END cout<<'\n'
const double pi=acos(-1.0);
 
typedef pair<int, int> PII;
 
typedef vector<long long> VI;
 
typedef vector<string> VS;
 
typedef vector<PII> VII;
 
typedef vector<VI> VVI;
 
typedef map<int,int> MPII;
 
typedef set<int> SETI;
 
typedef multiset<int> MSETI;
 
typedef long int li;
 
typedef unsigned long int uli;
 
typedef long long int ll;
 
typedef unsigned long long int  ull;
ll fastexp (ll a, ll b, ll n) {
  ll res = 1;
  while (b) {
      if (b & 1) res = res*a%n;
      a = a*a%n;
      b >>= 1;
  }
  return res;
}
void fast(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}

  

int main()
 {  fast();
int i,j,n,k;
	cin>>n>>k;
    VI a(n);
    for(i=0;i<n;i++)
    cin>>a[i];
    int dp[k+1]={0};
    for(i=1;i<=k;i++)
    {
        for(j=0;j<n;j++)
        if(i-a[j]>=0)
        dp[i]=(dp[i]||!dp[i-a[j]]);
    }
    if(dp[k])
    cout<<"First"<<endl;
    else
    cout<<"Second"<<endl;
}
 
 }
   
   