#!usr/bin/env python3
from collections import defaultdict
from collections import deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
def LI(): return list(map(int, sys.stdin.readline().split()))
def I(): return int(sys.stdin.readline())
def LS():return list(map(list, sys.stdin.readline().split()))
def S(): return list(sys.stdin.readline())[:-1]
def IR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = I()
    return l
def LIR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = LI()
    return l
def SR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = S()
    return l
def LSR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = SR()
    return l
sys.setrecursionlimit(1000000)
mod = 1000000007


#A
def A():
    n,k = LI()
    a = LI()
    dp = [-1 for i in range(k+1)]
    for i in range(min(a)):
        dp[i] = 1
    for i in range(k):
        for j in range(n):
            if dp[i] != -1:
                if i+a[j] <= k:
                    if dp[i+a[j]] == -1:
                        dp[i+a[j]] = 1-dp[i]
                    elif dp[i+a[j]] != 1-dp[i]:
                        if i+a[j] - max(a) >= min(a):
                            dp[i+a[j]] = 1-dp[i]
    if dp[k]:
        print("Second")
    else:
        print("First")
#B
def B():
    return

#C
def C():
    return

#D
def D():
    return

#E
def E():
    return

#F
def F():
    return

#G
def G():
    return

#H
def H():
    return

#Solve
if __name__ == "__main__":
    A()
