program atcoder
    implicit none
    integer :: i,j,n,k
    integer,allocatable,dimension(:) :: dp
    integer,allocatable,dimension(:) :: a
    read*,n,k
    allocate(dp(0:k+1))
    ! dp(i) := はじめ石がi個の時、先攻の人が勝てるかどうか
    allocate(a(n))
    read(*,*)(a(i),i=1,n)
    dp = 0
    do i = 0,k
        do j = 1,n
            if(i-a(j)>=0 .and. dp(i-a(j))==0)then
                !石がi個のとき、a[j]個取って相手が勝てない状態にできるなら勝てる
                dp(i) = 1
            endif
        enddo
    enddo
    if(dp(k)==1)then
        write(*,'(a)')"First"
    else
        write(*,'(a)')"Second"
    endif
    stop 
contains

end program atcoder
