-- https://github.com/minoki/my-atcoder-solutions
{-# LANGUAGE BangPatterns #-}
import Data.Char (isSpace)
import Data.List (unfoldr)
import qualified Data.Vector.Unboxed as U
import qualified Data.ByteString.Char8 as BS

main = do
  [n,k] <- unfoldr (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
  -- 1 <= n <= 300, 1 <= k <= 10^5
  xs <- U.unfoldrN n (BS.readInt . BS.dropWhile isSpace) <$> BS.getLine
  -- 1 <= a1 < a2 < ... < an <= k
  let vec = U.constructN (k + 1) $
        \vec -> let !i = U.length vec
                in not $ U.and $ U.map (\x -> vec U.! (i - x)) $ U.takeWhile (<= i) xs
  putStrLn (if U.last vec then "First" else "Second")
