Eseguire query su un albero di ricerca binario (Binary Search Tree)

Dato un albero di ricerca binario (BST) vuoto, ovvero senza alcun nodo, devi effettuare tre tipi di query:

  1. insert x - inserisce il valore x nel BST

  2. search x - verifica se il valore x è presente nel BST

  3. print - stampa il BST utilizzando l’attraversamento in-order

Dati q query, si richiede di scrivere un programma che esegua queste operazioni.

Input

La prima riga dell’input contiene un singolo numero q (1 ≤ q ≤ 1000).

Le successive q righe contengono le query. Per tutte le query di tipo insert e search, il valore di x non supera in valore assoluto.

Output

Per ogni query di tipo search, il programma deve stampare su una nuova riga "Yes" se il valore è presente nel BST, altrimenti "No".

Per ogni query di tipo print, il programma deve stampare i valori del BST in ordine in-order, separandoli con uno spazio.

Esempi

Ingresso

Uscita

6 insert 2 insert 1 search 3 insert 0 print search 1

No 0 1 2 Yes

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