object Main{
  // sub以下のmax
  def maxAbs(list: List[Int], sub: Int): Int = {
    var max = 0
    for(i <- (0 until list.size)){
      for(j <- (0 until list.size - i)){
        if(list(i) - list(j) <= sub && !list.contains(Math.abs(list(i) - list(j))))
          max = Math.max(max, Math.abs(list(i) - list(j)))
      }
    }
    max
  }

  def check(list: List[Int], k: Int): Boolean = {
    var ans = maxAbs(list, list.max - k)
    // println(ans)
    if(ans == k)
      true
    else if(ans == 0)
      false
    else
      check(ans :: list, k)
  }

  def main(args:Array[String]) = {
    val tmp = scala.io.StdIn.readLine.split(" ").map(_.toInt).toList
    val list = scala.io.StdIn.readLine.split(" ").map(_.toInt).toList
    // println(tmp)
    // println(list)
    if(list.contains(tmp(1)))
      println("POSSIBLE")
    else if(check(list, tmp(1)))
      println("POSSIBLE")
    else
      println("IMPOSSIBLE")
  }
}