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



S_possible = "POSSIBLE"

S_impossible = "IMPOSSIBLE"



if N == 1:

    if K == A[0]:

        print(S_possible)

    else:

        print(S_impossible)

else:

    gcd_max = gcd(A[0], A[1])

    for i in range(N-1):

        gcd_current = gcd(A[i], A[i+1])

        if gcd_current < gcd_max:

            gcd_max = gcd_current

    if K % gcd_max == 0 and K <= max(A):

        print(S_possible)

    else:

        print(S_impossible)

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



S_possible = "POSSIBLE"

S_impossible = "IMPOSSIBLE"



b = 0



for a in A:

    b = gcd(a, b)



if K % b or K > max(A):

    print(S_impossible)

else:

    print(S_possible)

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


S_possible = "POSSIBLE"
S_impossible = "IMPOSSIBLE"
if N == 1:
    if K == A[0]:
        print(S_possible)
    else:
        print(S_impossible)
else:
    gcd_max = gcd(A[0], A[1])
    for i in range(N - 1):
        gcd_current = gcd(A[i], A[i + 1])
        if gcd_current < gcd_max:
            gcd_max = gcd_current
    if K % gcd_max == 0 and K <= max(A):
        print(S_possible)
    else:
        print(S_impossible)

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


S_possible = "POSSIBLE"
S_impossible = "IMPOSSIBLE"
b = 0
for a in A:
    b = gcd(a, b)
if K % b or K > max(A):
    print(S_impossible)
else:
    print(S_possible)

-if N == 1: -    if K == A[0]: -        print(S_possible) -    else: -        print(S_impossible) +b = 0 +for a in A: +    b = gcd(a, b) +if K % b or K > max(A): +    print(S_impossible) -    gcd_max = gcd(A[0], A[1]) -    for i in range(N - 1): -        gcd_current = gcd(A[i], A[i + 1]) -        if gcd_current < gcd_max: -            gcd_max = gcd_current -    if K % gcd_max == 0 and K <= max(A): -        print(S_possible) -    else: -        print(S_impossible) +    print(S_possible)