#include <bits/stdc++.h>
using namespace std;
class KStone {
public:
string winner(vector<int>& stones, int n, int k) {
vector<bool> dp(k+1, false);
for (int i = 1; i <= k; i++) {
for (int stone : stones) {
if (i >= stone && dp[i - stone] == false) {
dp[i] = true;
break;
}
}
}
return dp[k] ? "First" : "Second";
}
};
int main() {
int n, k;
cin >> n >> k;
vector<int> stones(n);
for(int i = 0; i < n; ++i) cin >> stones[i];
KStone obj;
cout << obj.winner(stones, n, k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBLU3RvbmUgewpwdWJsaWM6CglzdHJpbmcgd2lubmVyKHZlY3RvcjxpbnQ+JiBzdG9uZXMsIGludCBuLCBpbnQgaykgewoJICAgIHZlY3Rvcjxib29sPiBkcChrKzEsIGZhbHNlKTsKCQoJICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGs7IGkrKykgewoJICAgICAgICBmb3IgKGludCBzdG9uZSA6IHN0b25lcykgewoJICAgICAgICAgICAgaWYgKGkgPj0gc3RvbmUgJiYgZHBbaSAtIHN0b25lXSA9PSBmYWxzZSkgewoJICAgICAgICAgICAgICAgIGRwW2ldID0gdHJ1ZTsKCSAgICAgICAgICAgICAgICBicmVhazsKCSAgICAgICAgICAgIH0KCSAgICAgICAgfQoJICAgIH0KCSAgICByZXR1cm4gZHBba10gPyAiRmlyc3QiIDogIlNlY29uZCI7Cgl9Cgp9OwoKaW50IG1haW4oKSB7CglpbnQgbiwgazsKCWNpbiA+PiBuID4+IGs7CgoJdmVjdG9yPGludD4gc3RvbmVzKG4pOwoKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyArK2kpIGNpbiA+PiBzdG9uZXNbaV07CgkKCUtTdG9uZSBvYmo7Cgljb3V0IDw8IG9iai53aW5uZXIoc3RvbmVzLCBuLCBrKTsKCglyZXR1cm4gMDsKfQ==