Gioco di eliminazione

Facciamo un gioco. Ci sono n persone che pensano a un numero casuale. Loro non conoscono le regole del gioco. Solo tu le conosci. Sai che ad ogni passo del gioco, le persone che hanno scelto un numero con il minor numero di divisori escono dal gioco. Chiedi a tutti i loro numeri e poi devi dire chi lascerà il gioco ad ogni passo. Dovrebbero indovinare la regola del gioco. Ora il tuo compito è scrivere un programma che simuli il gioco e stampi i nomi delle persone che lasceranno il gioco ad ogni passo.

La prima linea dell'input contiene un singolo intero n, che è il numero di persone che partecipano al gioco. Le successive n righe contengono i nomi dei partecipanti e il numero che hanno memorizzato. È garantito che i nomi sono unici e i numeri positivi.

Il programma deve stampare i nomi delle persone che lasciano il gioco ad ogni fase del gioco.

Ingresso

Uscita

5
Anna 6
Bob 8
Simon 1
Karen 10
Lucy 100

Simon
Anna Bob Karen
Lucy

Spiegazione:

Anna 6 (1, 2, 3, 6) ⇒ 4 divisori

Bob 8 (1, 2, 4, 8) ⇒ 4 divisori

Simon 1 (1) ⇒ 1 divisore

Karen 10 (1, 2, 5, 10) ⇒ 4 divisori

Lucy 100 (1, 2, 4, 5, 10, 20, 25, 50, 100) ⇒ 9 divisori

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