main = do
  [n, k] <- map read . words <$> getLine
  as <- map read . words <$> getLine
  let (bs, l) = f (as, k)
  putStr $ solve bs l
 
solve as k
  | maximum as < k = "IMPOSSIBLE"
  | odd k && all even as = "IMPOSSIBLE"
  | otherwise = "POSSIBLE"

f (as, k)
  | even k && all even as = f (map (`div` 2) as, k `div` 2)
  | otherwise = (as, k)