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

void test(vector<int> &a, int k){
	bool dp[a.size()][k+1];
	memset(dp, 0, sizeof(dp));
	int n = a.size();
	for(int i = a[0]; i <= k; i++){
		dp[0][i] = !(dp[0][i-a[0]]);
	}
	for(int i = 1; i < a.size(); i++){
		for(int j = 1; j <= k; j++){
			bool taken = 0, ignored = 1;
			if(j - a[i]>=0){
				taken = !(dp[i][j-a[i]]);
			}
			ignored = dp[i-1][j];
			dp[i][j] = taken||ignored;
		}
	}
	if(dp[n-1][k]){s
		cout << "First" << endl;
	}
	else{
		cout << "Second";
	}
	return;
}

int main(){
	#ifndef ONLINE_JUDGE
	freopen("/home/afzalrao/Desktop/Academics/2nd Year/3rd Sem/ESO207/CP/Text Files/input.txt", "r", stdin);
	freopen("/home/afzalrao/Desktop/Academics/2nd Year/3rd Sem/ESO207/CP/Text Files/output.txt", "w", stdout);
	#endif
	int n, k;
	cin >> n >> k;
	vector<int> a(n);
	for(int i =0 ; i < n; i++){
		cin >> a[i];
	}
	test(a, k);
	return 0;
}