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 (GCC 5.4.1) (judge verdict: Runtime Error)

#include <stdio.h>

int main()
{
   int N;
   scanf("%d", &N);

   int A[N+1];
   for (int i = 0; i < N+1; i++)
      scanf("%d", &A[i]);

   int B[N];
   for (int i = 0; i < N; i++)
      scanf("%d", &B[i]);

   long int count = 0;

   for (int i = 0; i < N; i++) {
         if (A[i] > B[i])
            count += B[i];
          else {
              if (A[i+1] > B[i] - A[i])
                 count += B[i];
              else
                 count += A[i] + A[i+1];

              A[i+1] -= B[i] - A[i];
              if (A[i+1] < 0)
                 A[i+1] = 0;
          }
      }

   printf("%d\n", count);
   return 0;
}