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: Runtime Error)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        var N = Int32.Parse(Console.ReadLine());
        var A = Console.ReadLine().Split(' ').Select(__ => Int32.Parse(__)).ToArray();
        var B = Console.ReadLine().Split(' ').Select(__ => Int32.Parse(__)).ToArray();

        var count = 0L;
        for (var i = 0; i < N; i++)
        {
            var a = Math.Min(A[i], B[i]);
            count += a;
            A[i] -= a;
            B[i] -= a;

            a = Math.Min(A[i+1], B[i]);
            count += a;
            A[i+1] -= a;
            B[i] -= a;
        }

        Console.WriteLine(count);
        
    }
}