#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 25, M = 1e6 + 25, oo = 1e9, mod = 1e9 + 7;
const long long OO = 1e18+25;

int n,k, a[125], mem[N][2];

long long dp(int v=k,int turn=1)
{
    if(v < a[0]) return turn * -1;
    int &ret = mem[v][(turn==1)];
    if(ret != 0) return ret;
    for(int i=0; i<n && v >= a[i]; i++)
    {
        ret = dp(v-a[i], turn*-1);
        if(ret == turn) break;
    }
    return ret;
}

int main()
{
    //memset(mem, -1, sizeof mem);
    scanf("%d%d",&n,&k);
    for(int i=0; i<n; i++) scanf("%d",a+i);
    sort(a, a+n);
    printf("%s",(dp()==1?"First":"Second"));
    return 0;
}