Rimuovere un Singolo Elemento 2

Data una lista di n interi, si richiede di rimuoverne uno in modo che il prodotto della sequenza risultante, preso modulo m, sia uguale a p. Più formalmente, se l’indice dell’elemento rimosso è r:

Il programma deve trovare l’indice di tale elemento oppure stampare Impossible se non esiste alcun valore che soddisfi la condizione.

Input (Dati in ingresso)

La prima riga dell’input contiene 3 interi n (1 ≤ n ≤ ), m (1 ≤ m ≤ ) e p (0 ≤ s < m).

La seconda riga contiene n interi separati da spazio, ().

Output (Dati in uscita)

Se non esiste alcun numero che soddisfi la condizione, il programma deve stampare Impossible; in caso contrario, deve stampare il più piccolo indice di un numero del genere nella lista. L’indicizzazione inizia da 1.

Esempi

Input

Output

3 8 5
5 0 9

2

3 8 5
5 10 7

Impossible

Spiegazione

  1. 5 * 9 = 45 ⇒ 45 mod 8 = 5 ⇒ è possibile rimuovere l’elemento con valore 0 in posizione 2.

  2. Non è possibile rimuovere alcun elemento per far sì che il prodotto dell’array risultante modulo 8 sia 5.

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

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