n,k = list(map(int,input().split()))

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

tf = ["" for _ in range(k+1)]

tf[0] = False

for i in range(1,k+1):

  j = 0

  flag = 0

  while j < n and i - a[j] >= 0:

    if tf[i-a[j]] == False:

      tf[i] = True

      flag = 1

      break

    j += 1

  if flag ==0:

    tf[i] = False

if tf[k]:

  print("First")

else:

  print("Second")

      

    

  

n,k = list(map(int,input().split()))

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

s = [False]*(k+1)

for i in range(k+1):

  for aj in a:

    if i - aj >=0:

      if s[i-aj] == False:

        s[i] = True

        break

if s[k]==True:

  print("First")

else:

  print("Second")
n, k = list(map(int, input().split()))
a = list(map(int, input().split()))
tf = ["" for _ in range(k + 1)]
tf[0] = False
for i in range(1, k + 1):
    j = 0
    flag = 0
    while j < n and i - a[j] >= 0:
        if tf[i - a[j]] == False:
            tf[i] = True
            flag = 1
            break
        j += 1
    if flag == 0:
        tf[i] = False
if tf[k]:
    print("First")
else:
    print("Second")

n, k = list(map(int, input().split()))
a = list(map(int, input().split()))
s = [False] * (k + 1)
for i in range(k + 1):
    for aj in a:
        if i - aj >= 0:
            if s[i - aj] == False:
                s[i] = True
                break
if s[k] == True:
    print("First")
else:
    print("Second")

-tf = ["" for _ in range(k + 1)] -tf[0] = False -for i in range(1, k + 1): -    j = 0 -    flag = 0 -    while j < n and i - a[j] >= 0: -        if tf[i - a[j]] == False: -            tf[i] = True -            flag = 1 -            break -        j += 1 -    if flag == 0: -        tf[i] = False -if tf[k]: +s = [False] * (k + 1) +for i in range(k + 1): +    for aj in a: +        if i - aj >= 0: +            if s[i - aj] == False: +                s[i] = True +                break +if s[k] == True: