#include <bits/stdc++.h>
#include <set> 
#include <iterator> 
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
#define ll long long
#define MOD 1000000007
#define nl cout<<endl
#define rt ll Q[100005]={0}
#define mp make_pair
#define test() ull t;cin>>t;while(t--)
#define pb push_back
#define ff first
#define ss second
#define all(v) v.begin(),v.end()
#define oa(a,n) for(ll i=0;i<n;i++)cout<<a[i]<<" ";nl
#define cn(a,n) for(ll i=0;i<n;i++)cin>>a[i];
#define ov(a) for(ll i=0;i<a.size();i++)cout<<a[i]<<" ";nl
#define fastio() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)


int main()
{
   #ifndef ONLINE_JUDGE
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif
    fastio();
    int n,k;
    cin>>n>>k;
    int a[n];
    cn(a,n);
    int dp[k+1]={0};
    for(int i=0;i<a[0];i++)
    {
        dp[i]=2;
    }
    for(int i=a[0];i<=k;i++)
    {
        int f=2;
        for(int j=0;j<n;j++)
        {
                if(dp[max(0,i-a[j])]==2)
                    f=1;
        }
        dp[i]=f;
    }
    string s = "First";
    if(dp[k]==2)
        s="Second";
    cout<<s<<endl;
}
