def gcd(a,b):

  while b:a,b=b,a%b

  return a

n,k=list(map(int,input().split()))

a=list(map(int,input().split()))

g=a[0]

for i in a[1:]:g=gcd(g,i)

ans="IMPOSSIBLE"

for i in a:

  if k>i:continue

  if abs(k-i)%g==0:ans="POSSIBLE"

print(ans)
n,k=list(map(int,input().split()))

a=list(map(int,input().split()))

def gcd(a,b):

  while b:a,b=b,a%b

  return a

g=a[0]

for i in a:g=gcd(g,i)

if max(a)>=k and k%g==0:print("POSSIBLE")

else:print("IMPOSSIBLE")
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a


n, k = list(map(int, input().split()))
a = list(map(int, input().split()))
g = a[0]
for i in a[1:]:
    g = gcd(g, i)
ans = "IMPOSSIBLE"
for i in a:
    if k > i:
        continue
    if abs(k - i) % g == 0:
        ans = "POSSIBLE"
print(ans)

n, k = list(map(int, input().split()))
a = list(map(int, input().split()))


def gcd(a, b):
    while b:
        a, b = b, a % b
    return a


g = a[0]
for i in a:
    g = gcd(g, i)
if max(a) >= k and k % g == 0:
    print("POSSIBLE")
else:
    print("IMPOSSIBLE")

+n, k = list(map(int, input().split())) +a = list(map(int, input().split())) + + -n, k = list(map(int, input().split())) -a = list(map(int, input().split())) -for i in a[1:]: +for i in a: -ans = "IMPOSSIBLE" -for i in a: -    if k > i: -        continue -    if abs(k - i) % g == 0: -        ans = "POSSIBLE" -print(ans) +if max(a) >= k and k % g == 0: +    print("POSSIBLE") +else: +    print("IMPOSSIBLE")