Partendo da un heap inizialmente vuoto, si devono eseguire q operazioni (query). Esistono tre tipi di operazioni:
add x – inserisce x nell'heap
pop – rimuove la radice dell'heap
max – visualizza l'elemento massimo dell'heap
Input
La prima riga dell’input contiene un singolo intero q (1 ≤ q ≤ 10^5).
Le successive q righe contengono le operazioni, ciascuna su una riga separata. È garantito che, per tutte le istruzioni add, il valore di x non superi 10^9 in valore assoluto. È inoltre garantito che tutte le istruzioni siano valide e che non venga mai richiesto un pop se l’heap è vuoto.
Output
Il programma deve stampare i risultati corrispondenti a tutte le istruzioni max, ognuno su una nuova riga.