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

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



dp = ['First']*(K+1)

dp[0] = 'Second'

def solve(dp):

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

        for j in range(N):

            dp[i] = 'Second'

            if dp[i-A[j]]=='Second':

                dp[i] = 'First'

                break

    ans = dp[K]

    return ans

print((solve(dp)))
def solve():

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

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

  dp = ['Second']*(K*2)

  for i in range(K):

    if dp[i]!='Second':

      continue

    for j in range(N):

      dp[i+A[j]]='First'

  ans = dp[K]

  return ans

print((solve()))
N, K = list(map(int, input().split()))
A = list(map(int, input().split()))
dp = ["First"] * (K + 1)
dp[0] = "Second"


def solve(dp):
    for i in range(1, K + 1):
        for j in range(N):
            dp[i] = "Second"
            if dp[i - A[j]] == "Second":
                dp[i] = "First"
                break
    ans = dp[K]
    return ans


print((solve(dp)))

def solve():
    N, K = list(map(int, input().split()))
    A = list(map(int, input().split()))
    dp = ["Second"] * (K * 2)
    for i in range(K):
        if dp[i] != "Second":
            continue
        for j in range(N):
            dp[i + A[j]] = "First"
    ans = dp[K]
    return ans


print((solve()))

-N, K = list(map(int, input().split())) -A = list(map(int, input().split())) -dp = ["First"] * (K + 1) -dp[0] = "Second" - - -def solve(dp): -    for i in range(1, K + 1): +def solve(): +    N, K = list(map(int, input().split())) +    A = list(map(int, input().split())) +    dp = ["Second"] * (K * 2) +    for i in range(K): +        if dp[i] != "Second": +            continue -            dp[i] = "Second" -            if dp[i - A[j]] == "Second": -                dp[i] = "First" -                break +            dp[i + A[j]] = "First" -print((solve(dp))) +print((solve()))