Eliminar un solo elemento 2

Dada una lista de n números enteros, se te solicita eliminar uno de esos números de forma que el producto de la secuencia resultante, tomado módulo m, sea igual a p. Más formalmente, si el índice del elemento eliminado es r:

(a1⋅a2⋅...⋅ar−1⋅ar+1⋅...⋅an)mod  m=p(a_1 \cdot a_2 \cdot ... \cdot a_{r-1} \cdot a_{r+1} \cdot ... \cdot a_n) \mod m = p

El programa debe encontrar el índice de ese número o imprimir Impossible si no existe un número que cumpla con la condición.

Entrada

La primera línea de la entrada contiene 3 enteros n (1 ≤ n ≤ 10510^5), m (1 ≤ m ≤ 10910^9) y p (0 ≤ s < m).

La segunda línea contiene n enteros separados por espacios: a1,a2,...,ana_1, a_2, ..., a_n (00 ≤ aia_i ≤ 10910^9).

Salida

Si no existe tal número, el programa debe imprimir Impossible; de lo contrario, debe imprimir el índice más pequeño de ese número en la secuencia (la indexación comienza en 1).

Ejemplos

Entrada

Salida

3 8 5
5 0 9

2

3 8 5
5 10 7

Impossible

Explicación

  1. 5 * 9 = 45 ⇒ 45 mod 8 = 5 ⇒ podemos eliminar el elemento con valor 0 en la posición 2.

  2. No es posible eliminar ninguno de los elementos para que el producto resultante mod 8 sea igual a 5.

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB