import Control.Applicative
import Control.Monad
import Data.List

solve 1 k as = k `elem` as
solve n k as
    | maximum as < k     = False
    | all even as, odd k = False
    | all ((== 0) . (`mod` b)) as, k `mod` b /= 0 = False
    | otherwise = True
  where
    b = minimum as

main :: IO ()
main = do
    [n, k] <- fmap read . words <$> getLine :: IO [Int]
    as <- fmap read . words <$> getLine :: IO [Int]
    print $ solve n k as
    if solve n k as
        then putStrLn "POSSIBLE"
        else putStrLn "IMPOSSIBLE"