Trova il secondo valore più piccolo in un BST

Data un albero di ricerca binaria (BST) inizialmente vuoto, ti vengono richiesti due tipi di operazioni:
  1. insert x – inserisce il valore x nel BST
  1. smallest – stampa il secondo valore più piccolo presente nel BST
Avendo a disposizione q query, devi scrivere un programma che le esegua.

Input

La prima riga dell’input contiene un singolo numero q (1 ≤ q ≤ 1000).
Le successive q righe contengono le query. Per ogni query di tipo insert, il valore di x non supera in valore assoluto. Per ogni query di tipo smallest, è garantito che nel BST siano presenti almeno 2 elementi.

Output

Per ogni query smallest, il programma deve stampare il secondo valore più piccolo presente nell’albero di ricerca binaria.

Examples

Input
Output
7 insert 2 insert 1 smallest insert 10 smallest insert -1 smallest
2 2 1
 

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