N, K = [int(i) for i in input().split()]

A = [int(i) for i in input().split()]



from fractions import gcd

from functools import reduce



if max(A) < K:

    print("IMPOSSIBLE")

    quit()



g = reduce(gcd, A)

for a in A:

    if gcd(a, K) == g:

        print("POSSIBLE")

        quit()



print("IMPOSSIBLE")
N, K = [int(i) for i in input().split()]

A = [int(i) for i in input().split()]



from functools import reduce

from fractions import gcd



if K <= max(A) and K % reduce(gcd, A) == 0:

    print("POSSIBLE")

else:

    print("IMPOSSIBLE")

N, K = [int(i) for i in input().split()]
A = [int(i) for i in input().split()]
from fractions import gcd
from functools import reduce

if max(A) < K:
    print("IMPOSSIBLE")
    quit()
g = reduce(gcd, A)
for a in A:
    if gcd(a, K) == g:
        print("POSSIBLE")
        quit()
print("IMPOSSIBLE")

N, K = [int(i) for i in input().split()]
A = [int(i) for i in input().split()]
from functools import reduce
from fractions import gcd

if K <= max(A) and K % reduce(gcd, A) == 0:
    print("POSSIBLE")
else:
    print("IMPOSSIBLE")

+from functools import reduce -from functools import reduce -if max(A) < K: +if K <= max(A) and K % reduce(gcd, A) == 0: +    print("POSSIBLE") +else: -    quit() -g = reduce(gcd, A) -for a in A: -    if gcd(a, K) == g: -        print("POSSIBLE") -        quit() -print("IMPOSSIBLE")