import Data.List

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

step :: [Int] -> [Int]
step ls = nub $ ls `mappend` ls' where
  ls' = (\[a,b] -> abs (a-b)) <$> combinations 2 ls

combinations :: Int -> [a] -> [[a]]
combinations n2 ls = comb ls n2 where
  comb _ 0 = [[]]
  comb [] _ = []
  comb (h:tl) n3 = fmap (h:) (comb tl (n3 -1)) `mappend` comb tl n3

solve :: [Int] -> [Int]
solve ls = if ls == ls' then ls else solve ls' where
  ls' = step ls
