#include<bits/stdc++.h> using namespace std; #define For(i,n) for(int i=0;i<n;i++) #define mem(a,b) memset(a,b,sizeof(a)) #define int long long int #define ld long double #define pb push_back #define mp make_pair #define mod 1000000007 #define ld long double #define pb push_back #define ff first #define ss second #define MAXN 100001 int A[MAXN], dp[MAXN], N, K; int solve(int k, int m) { if (dp[k] != -1) return dp[k]; if (k == 0) return dp[k] = m ^ 1; int ans = m ^ 1; for (int i = 1; i <= N; i++) { if (A[i] > k) continue; if (solve(k - A[i], m ^ 1) == m) { ans = m; break; } } return dp[k] = ans; } int32_t main() { memset(dp, -1, sizeof(dp)); cin >> N >> K; for (int i = 1; i <= N; i++) { cin >> A[i]; } if (solve(K, 1)) printf("First\n"); else printf("Second\n"); return 0; }