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

const int MAXN = 1e5+5;
const int MAXNN = 1e5+7;
const int INF = 1e9+7;
#define ll long long
#define pb push_back
#define endl '\n'
#define fast_io ios_base::sync_with_stdio(false); cin.tie(NULL);
#define F first
#define S second

ll poww(ll a, ll b, ll md) {
    return (!b ? 1 : (b & 1 ? a * poww(a * a % md, b / 2, md) % md : poww(a * a % md, b / 2, md) % md));
}

ll MOD(ll a){
    return ((a%INF)+INF)%INF;
}

ll inv(ll a){
    return poww(a,INF-2,INF);
}

bool dp[MAXN][2];
int a[MAXN];

int main()
{
    fast_io;
    //cout << fixed << setprecision(15);

    int n,k;cin >> n >> k;
    for(int i=1;i<=n;++i) cin >> a[i];

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