fun main(args: Array<String>) {
    agc002c()
}

fun agc002c() {
    val (n, l) = readLine()!!.split(" ").map { it.toInt() }
    val aList = readLine()!!.split(" ").map { it.toLong() }

    val leaveLastKnotIndex = (0 until n - 1).find { i ->
        aList[i] + aList[i + 1] >= l
    } ?: return println("Impossible")

    val knots = ((0 until leaveLastKnotIndex).toList() + (n - 2 downTo leaveLastKnotIndex).toList()).map { it + 1 }

    println("Possible")
    println(knots.joinToString(separator = System.lineSeparator()))
}
