package yukicoder fun main() { readLine()!!.toInt() val W: List = readLine()!!.split(" ").map(String::toInt) val sum: Int = W.sum() if (sum % 2 != 0) { println("impossible") return } val halfW = sum / 2 fun search(index: Int, sum: Int): Boolean { val currentSum = sum + W[index] return if (currentSum > halfW) { false } else if (currentSum == halfW) { true } else { for (i in index + 1 until W.size) { if (search(i, currentSum)) { return true } } return false } } when (search(0, 0)) { true -> println("possible") false -> println("impossible") } }