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 C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;

class Program
{
    static void Main(string[] args)
    {
        string[] input = Console.ReadLine().Split(' ');
        int a = int.Parse(input[0]);
        int b = int.Parse(input[1]);

        int k1, k2, k3, k4;
        k1 = (a + b) / 2;
        k2 = (a - b) / 2;
        k3 = -(a + b) / 2;
        k4 = -(a - b) / 2;

        int ans1 = Math.Abs(a - k1) - Math.Abs(b - k1);
        int ans2 = Math.Abs(a - k2) - Math.Abs(b - k2);
        int ans3 = Math.Abs(a - k3) - Math.Abs(b - k3);
        int ans4 = Math.Abs(a - k4) - Math.Abs(b - k4);
        if (ans1 == 0)
        {
            Console.WriteLine(k1.ToString());
        }
        else if (ans2 == 0)
        {
            Console.WriteLine(k2.ToString());
        }
        else if (ans3 == 0)
        {
            Console.WriteLine(k3.ToString());
        }
        else if (ans4 == 0)
        {
            Console.WriteLine(k3.ToString());
        }
        else
        {
            Console.WriteLine("IMPOSSIBLE");
        }

    }
}