-- Question A

import Control.Applicative
import Control.Monad

main = do
  [n ,k] <- (map read . words) <$> getLine ::IO[Integer]
  xs <- (map read . words) <$> getLine ::IO[Integer]
  putStrLn (try xs k) 
  
  
try xs k
 | ( maximum xs ) < k = "IMPOSSIBLE"
 | (foldl1 (getGcd) xs )==1 = "POSSIBLE"
 | otherwise = "IMPOSSIBLE"

getGcd :: Integer -> Integer -> Integer
getGcd a 0 = a
getGcd a b
    | a `mod` b == 0 = b
    | otherwise = getGcd b $ a `mod` b