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

int const N = 101, K = 1e5 + 1;

ll n, k;
ll arr[N];

ll dp[K][2];
bool vis[K][2];

int pound(int stones, int turn)
{
    if (stones < arr[0])
        return 1 - turn;
    
    if (vis[stones][turn])
        return dp[stones][turn];
        
    vis[stones][turn] = 1;
    
    dp[stones][turn] = 1 - turn;
    for (int i = 0; i < n; ++i)
    {
        if (turn)
            dp[stones][turn] = max(dp[stones][turn], pound(stones - arr[i], 1 - turn));
        else
            dp[stones][turn] = min(dp[stones][turn], pound(stones - arr[i], 1 - turn));
    }
    
    return dp[stones][turn];
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    cin >> n >> k;
    for (int i = 0; i < n; ++i)
        cin >> arr[i];
        
    if (pound(k, 1))
        cout << "First";
    else cout << "Second";
    
    return 0;
}
