atcoder#AGC018A. [AGC018A] Getting Difference

[AGC018A] Getting Difference

Score : 300300 points

Problem Statement

There is a box containing NN balls. The ii-th ball has the integer AiA_i written on it. Snuke can perform the following operation any number of times:

  • Take out two balls from the box. Then, return them to the box along with a new ball, on which the absolute difference of the integers written on the two balls is written.

Determine whether it is possible for Snuke to reach the state where the box contains a ball on which the integer KK is written.

Constraints

  • 1N1051 \leq N \leq 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 1K1091 \leq K \leq 10^9
  • All input values are integers.

Input

Input is given from Standard Input in the following format:

NN KK

A1A_1 A2A_2 ...... ANA_N

Output

If it is possible for Snuke to reach the state where the box contains a ball on which the integer KK is written, print POSSIBLE; if it is not possible, print IMPOSSIBLE.

3 7
9 3 4
POSSIBLE

First, take out the two balls 99 and 44, and return them back along with a new ball, abs(94)=5abs(9-4)=5. Next, take out 33 and 55, and return them back along with abs(35)=2abs(3-5)=2. Finally, take out 99 and 22, and return them back along with abs(92)=7abs(9-2)=7. Now we have 77 in the box, and the answer is therefore POSSIBLE.

3 5
6 9 3
IMPOSSIBLE

No matter what we do, it is not possible to have 55 in the box. The answer is therefore IMPOSSIBLE.

4 11
11 3 7 15
POSSIBLE

The box already contains 1111 before we do anything. The answer is therefore POSSIBLE.

5 12
10 2 8 6 4
IMPOSSIBLE