#include <iostream>
#include <algorithm>
#include <vector>
#include <numeric>
#include <queue>
#include <string>
#include <cmath>
#include <map>
#include <complex>
#include <set>
using namespace std;
typedef long long ll;
const ll mod = 1e9 + 7;

int n, k;
int dp[100010];
int a[110];
bool rec(int x) {
    if (dp[x] >= 0) return  dp[x];
    bool flag;
    for (int i = 0; i < n; i++) {
        if (x - a[i] < 0) continue;
        if (rec(x - a[i]) == 0) flag = 1;
    }
    if (flag == 1) return dp[x] = 1;
    else return dp[x] = 0;
}

int main() {
    cin >> n >> k;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for (int i = 0; i <= k; i++) {
        dp[i] = -1;
    }

    if (rec(k, a) == 1) cout << "First" << endl;
    else cout << "Second" << endl;

    return 0;
}