Problem:
Score: 100 points

Problem Statement

We have two distinct integers A and B.

Print the integer K such that |A - K| = |B - K|.

If such an integer does not exist, print IMPOSSIBLE instead.

Constraints

All values in input are integers.

0 \leq A,\ B \leq 10^9

A and B are distinct.

Input

Input is given from Standard Input in the following format:

A B

Output

Print the integer K satisfying the condition.

If such an integer does not exist, print IMPOSSIBLE instead.

Sample Input 1

2 16

Sample Output 1

9

|2 - 9| = 7 and |16 - 9| = 7, so 9 satisfies the condition.

Sample Input 2

0 3

Sample Output 2

IMPOSSIBLE

No integer satisfies the condition.

Sample Input 3

998244353 99824435

Sample Output 3

549034394

Solution in Kotlin (1.0.0) (judge verdict: Runtime Error)

fun main(argas: Array<String>) {
    val n = readLine()!!.toInt()
    val values = readLine()!!.split(" ").map(String::toInt)

    var pairs = mutableListOf<Pair<Int, Int>>();

    for (i in 0 until n-1) {
        if (values[i] > values[i+1]) {
            pairs.add(Pair(i, values[i]))
            break
        }
    }

    for (j in n-1 downTo 1) {
        if (values[j] < values[j-1]) {
            pairs.add(Pair(j, values[j]))
            break
        }
    }

    if (pairs.size != 2) {
        println("YES")
        return
    }

    var a = pairs.first()
    var b = pairs.last()

    if (a.second >= values[b.first-1] && b.second <= values[a.first+1]) {
        println("YES")
    } else {
        println("NO")
    }
}