Algorithms and Data Structures

Remove a Single Element 2

Given a list of n integers, you are asked to remove one of the integers in a way that the product of the resulting sequence modulo m is equal to p. More formally, if the index of the removed element is r:
The program should find the index of that number or print Impossible if that kind of number does not exist.

Input

The first line of the input contains 3 integers n (1 ≤ n ≤ ), m (1 ≤ m ≤ ), and p (0 ≤ s < m).
The second line contains n space-separated integers ().

Output

In case such a number does not exist, the program should print Impossible, otherwise, the program should print the smallest index of such a number in the given sequence. The indexing starts from 1.

Examples

Input
Output
3 8 5 5 0 9
2
3 8 5 5 10 7
Impossible

Explanation

  1. 5 * 9 = 45 ⇒ 45 mod 8 = 5 ⇒ we can remove the element with value 0 at position 2.
  1. It’s not possible to remove any of the elements to turn the product of the resulting array modulo 8 to be equal to 5.
 

Constraints

Time limit: 0.2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue