import Foundation

func readWords<T>(_ f: (Substring) -> T) -> [T] {
    return readLine()!.split(separator: " ").map(f)
}

private func gcd(_ a: Int, _ b: Int) -> Int {
    var (a, b) = a <= b ? (a, b) : (b, a)
    while b != 0 {
        (a, b) = (b, a % b)
    }
    return a
}

func main() {
    let nk = readWords { Int($0)! }
    let n = nk[0]
    let k = nk[1]
    let A = readWords { Int($0)! }

    guard k <= A.max()! else {
        print("IMPOSSIBLE")
        return
    }

    let g = A[1...].reduce(A[0], gcd)

    if k % g == 0 {
        print("POSSIBLE")
    } else {
        print("IMPOSSIBLE")
    }

}


main()