import java.util.*

fun gcd(an: Int, bn: Int): Int {
    var a = an
    var b = bn
    if (a > b) {
        val temp = a
        a = b
        b = temp
    }

    while (true) {
        val r = a % b
        if (r == 0) {
            return b
        }
        a = b
        b = r
    }
}

fun main(args: Array<String>){
	val cin = Scanner(System.`in`)
    val n = cin.nextInt()
    val k = cin.nextInt()
    
    val a = Array<Int>(n, { cin.nextInt() })

    var x = a[0]

    for (i in 1..n-1) {
        x = gcd(x, a[i])
    }

    var max = a[0]

    for (i in 1..n-1) {
        if (a[i] > max) {
            max = a[i]
        }
    }

    if (k % x == 0 && max >= k) {
        println("POSSIBLE")
    } else {
        println("IMPOSSIBLE")
    }
}