#include <bits/stdc++.h>

using namespace std;
map<int, bool> dp;

int solve(int arr[], int n, int k) {
	if(k <= 0) {
		return false;
	}
	if(dp.find(k) != dp.end())
		return dp[k];
	bool ans = true;
	for(int i = 0; i < n; i++) {
		if(arr[i] <= k) {
			ans &= solve(arr, n, k-arr[i]);
			if(!ans) {
				return true;
		} else {
			break;
		}
	}
	return dp[k] = !ans;
}

int main() {
	int n, k;
	cin>> n>> k;
	int arr[n];
	for(int i = 0; i < n; i++) 
		cin>>arr[i];
	dp.clear();
	if(solve(arr, n, k)) {
		cout<<"First\n";
	} else {
		cout<<"Second\n";
	}
}
