local function getgcd(x, y)
  while 0 < x do
    x, y = y % x, x
  end
  return y
end

local n, k = io.read("*n", "*n")
local gcd = io.read("*n")
local max = gcd
local mma = math.max
for i = 2, n do
  local t = io.read("*n")
  gcd = getgcd(gcd, t)
  max = mma(max, t)
end
local r = k % gcd == 0 and k <= max
print(r and "POSSIBLE" or "IMPOSSIBLE")
