{-# LANGUAGE BangPatterns #-}
import qualified Data.ByteString.Char8 as B
import qualified Data.Vector.Unboxed as VU
import Control.Monad
import Data.Char
import qualified Data.Vector.Unboxed as VU

solve :: Int -> VU.Vector Int -> VU.Vector Bool
solve !k !as =
    VU.constructN (k+1) $ 
        \ !vec ->
            let
                !i = VU.length vec
            in
                not $ VU.and $ VU.map (\a -> vec VU.! (i-a)) $ VU.takeWhile (<=i) as

main = do
    [n,k] <- map read . words <$> getLine :: IO [Int]
    as <- VU.unfoldrN n (B.readInt . B.dropWhile isSpace) <$> B.getLine
    putStrLn $ if (solve k as) VU.! k then "First" else "Second"