#include<bits/stdc++.h>
using namespace std;
#include <math.h>
#define ll long long 
// to increase precision
// std::cout<<std::fixed;
// 	std::cout<<std::setprecision(6)<<z;
#define max1 150002


int main(){	
	int n,k;
	cin>>n>>k;
	vector<int> a(n);
	for (int i = 0; i < n; ++i)
	{
		cin>>a[i];
	}
	int dp[k+1]={0};
	for(int i=0;i<(a[n-1]+a[0]);i++){
		dp[i]=1;
	}
	for (int i = a[n-1] +a[0]; i < a[n-1] +2*a[0] ; ++i)
	{
		dp[i]=0;
	}
	for (int i = a[n-1] +2*a[0]; i <=k; ++i)
	{
		dp[i]=0;
		for (int j = 0; j <n; ++j)
		{
			if(dp[i-a[j]]==0){
				dp[i]=1;
				break;
			}
			
		}
		
	}
	if(dp[k]){
		cout<<"First"<<endl;
	}
	else{
		cout<<"Second"<<endl;
	}
	//cout<<dp[k]<<endl;







		
}