import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines



N,K,*A = list(map(int,read().split()))



dp = [0]*(K+1) # bitset

for n in range(K):

    if not dp[n]:

        for a in A:

            if n+a>K:

                break

            dp[n+a]=1



answer = 'First' if dp[-1] else 'Second'

print(answer)
import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines



N,K,*A = list(map(int,read().split()))



dp = [0]*(K+K+1) # bitset

for n in range(K):

    if not dp[n]:

        for a in A:

            dp[n+a]=1



answer = 'First' if dp[K] else 'Second'

print(answer)
import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
N, K, *A = list(map(int, read().split()))
dp = [0] * (K + 1)  # bitset
for n in range(K):
    if not dp[n]:
        for a in A:
            if n + a > K:
                break
            dp[n + a] = 1
answer = "First" if dp[-1] else "Second"
print(answer)

import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
N, K, *A = list(map(int, read().split()))
dp = [0] * (K + K + 1)  # bitset
for n in range(K):
    if not dp[n]:
        for a in A:
            dp[n + a] = 1
answer = "First" if dp[K] else "Second"
print(answer)

-dp = [0] * (K + 1)  # bitset +dp = [0] * (K + K + 1)  # bitset -            if n + a > K: -                break -answer = "First" if dp[-1] else "Second" +answer = "First" if dp[K] else "Second"