import sys

from fractions import gcd



PO = "POSSIBLE"

IM = "IMPOSSIBLE"

ans = ""





N, K = list(map(int, input().split()))		# 5 7

a = sorted(list(map(int, input().split())))	# 1 2 3 4 5 ...



if max(a)<K:

	print(IM)

	sys.exit()



if K in a:

	print(PO)

	sys.exit()



g=a[0]

for i in range(1,N):

	g = gcd(g,a[i])



if K%g==0:

	ans=PO

else:

	ans=IM





print(ans)

import sys

from fractions import gcd



PO = "POSSIBLE"

IM = "IMPOSSIBLE"

ans = ""





N, K = list(map(int, input().split()))		# 5 7

a = list(map(int, input().split()))	# 1 2 3 4 5 ...



if max(a)<K:

	print(IM)

	sys.exit()



if K in a:

	print(PO)

	sys.exit()



g=a[0]

for i in range(1,N):

	g = gcd(g,a[i])

	if K%g==0:

		ans=PO

		break

else:

	ans=IM



print(ans)

import sys
from fractions import gcd

PO = "POSSIBLE"
IM = "IMPOSSIBLE"
ans = ""
N, K = list(map(int, input().split()))  # 5 7
a = sorted(list(map(int, input().split())))  # 1 2 3 4 5 ...
if max(a) < K:
    print(IM)
    sys.exit()
if K in a:
    print(PO)
    sys.exit()
g = a[0]
for i in range(1, N):
    g = gcd(g, a[i])
if K % g == 0:
    ans = PO
else:
    ans = IM
print(ans)

import sys
from fractions import gcd

PO = "POSSIBLE"
IM = "IMPOSSIBLE"
ans = ""
N, K = list(map(int, input().split()))  # 5 7
a = list(map(int, input().split()))  # 1 2 3 4 5 ...
if max(a) < K:
    print(IM)
    sys.exit()
if K in a:
    print(PO)
    sys.exit()
g = a[0]
for i in range(1, N):
    g = gcd(g, a[i])
    if K % g == 0:
        ans = PO
        break
else:
    ans = IM
print(ans)

-a = sorted(list(map(int, input().split())))  # 1 2 3 4 5 ... +a = list(map(int, input().split()))  # 1 2 3 4 5 ... -if K % g == 0: -    ans = PO +    if K % g == 0: +        ans = PO +        break