N, K = list(map(int, input().split()))

A = list(map(int, input().split()))

sorted(A)

DP = [-1] * (K+1)

for i in range(K+1):

    if i < A[0]:

        DP[i] = False

    else:

        for j in A:

            if i - j <= 0:

                DP[i] = False

            if not DP[i-j]:

                DP[i] = True

                break

            DP[i] = False

if DP[K]:

    print('First')

else:

    print('Second')

N, K = list(map(int, input().split()))

A = list(map(int, input().split()))

A.sort()

m = min(A)

DP = [False] * (K+1)



for i in range(m, K+1):

    for a in A:

        if i - a >= 0 and DP[i-a] == False:

            DP[i] = True

            break

if DP[-1]:

    print('First')

else:

    print('Second')
N, K = list(map(int, input().split()))
A = list(map(int, input().split()))
sorted(A)
DP = [-1] * (K + 1)
for i in range(K + 1):
    if i < A[0]:
        DP[i] = False
    else:
        for j in A:
            if i - j <= 0:
                DP[i] = False
            if not DP[i - j]:
                DP[i] = True
                break
            DP[i] = False
if DP[K]:
    print("First")
else:
    print("Second")

N, K = list(map(int, input().split()))
A = list(map(int, input().split()))
A.sort()
m = min(A)
DP = [False] * (K + 1)
for i in range(m, K + 1):
    for a in A:
        if i - a >= 0 and DP[i - a] == False:
            DP[i] = True
            break
if DP[-1]:
    print("First")
else:
    print("Second")

-sorted(A) -DP = [-1] * (K + 1) -for i in range(K + 1): -    if i < A[0]: -        DP[i] = False -    else: -        for j in A: -            if i - j <= 0: -                DP[i] = False -            if not DP[i - j]: -                DP[i] = True -                break -            DP[i] = False -if DP[K]: +A.sort() +m = min(A) +DP = [False] * (K + 1) +for i in range(m, K + 1): +    for a in A: +        if i - a >= 0 and DP[i - a] == False: +            DP[i] = True +            break +if DP[-1]: