/*
Author: Sagar Gupta
E mail: sagar.june97p@gmail.com
*/
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define newline ("\n")
#define deb(n) cerr << #n << " = " << (n) << '\n'
#define FOR(i, n) for (int(i) = 0; (i) < n; (i)++)
#define PI (3.141592653589)

#define ordered_set tree<int, null_type, std::less<int>, rb_tree_tag, tree_order_statistics_node_update>

#define MOD 1000000007

int dp[101][100001];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    // Pikachu, I choose you
    memset(dp, -1, sizeof(dp));
    int n,k;
    cin >> n >> k;
    int arr[n];
    cerr << newline;
    for(int i = 0;i<n;i++)
    {
        cin >> arr[i];
    }
    for(int i = 0;i<n;i++)
    {
        for(int j = 0;j<=k;j++)
        {
            if(i == 0)
            {
                dp[i][j] = (j/arr[0])%2;
            }
            else
            {
                if(j<arr[i])
                {
                    dp[i][j] = dp[i-1][j];
                }
                else if(dp[i][j - arr[i]] == 0)
                {
                    dp[i][j] = 1;
                }
                else
                {
                    dp[i][j] = dp[i-1][j];
                }
                
                
            }
            cerr << setw(3) << dp[i][j] << " ";
            
        }
        cerr << newline;
    }
    if(dp[n-1][k])
    {
        cout << "First";
    }
    else
    {
        cout << "Second";
    }
    
    return 0;
}
