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

#define LEN(x) (int)x.size()
#define ALL(x) x.begin(), x.end()

typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> pii;
typedef vector<pii> vpii;

const int MOD = 1'000'000'007;
const double EPS = 0.000'000'001;

inline int fcmp(double x, double y)
{ return (x < y + EPS ? (x < y - EPS ? -1 : 0) : 1);}

const int K = 1'000'10;
bool dp[K][2];

int main()
{
    mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
    ios_base::sync_with_stdio(false);
    cout.precision(10);

    int n, k;
    cin >> n >> k;

    vi x(n);
    int mex = 0;

    for(int& i : x) cin >> i;

    sort(ALL(x));

    for(int i : x)
    {
        mex++;
        if(i > mex)
            break;
    }

    dp[0][0] = dp[mex][0] = 1;
    dp[0][1] = dp[mex][1] = 0;

    for(int j = 0; j <= k; j++)
    {
        for(int i : x)
        {
            if(i + j > k) break;
            dp[j + i][0] = dp[j][1];
            dp[j + i][1] = dp[j][0];
        }
    }

    string ans = !dp[k][0] ? "First" : "Second";

    cout << ans << endl;

    return 0;
}
