Il Fattore John ha notato che le sue mucche litigano spesso quando si trovano troppo vicine l'una all'altra, perciò vuole costruire una serie di nuovi fienili per sistemarle più lontano tra loro.
Ogni volta che il Fattore John costruisce un nuovo fienile, lo collega con al più un sentiero bidirezionale a uno dei fienili già esistenti. Per assicurarsi che le mucche siano sistemate abbastanza lontano l'una dall'altra, a volte vuole determinare la distanza da un dato fienile al fienile più lontano raggiungibile da esso (la distanza tra due fienili è il numero di sentieri che bisogna percorrere per andare da un fienile all'altro).
Il Fattore John effettuerà in totale richieste, ciascuna delle quali è o una richiesta di costruzione o una richiesta di distanza. In una richiesta di costruzione, il Fattore John costruisce un fienile e lo collega con al più uno dei fienili costruiti in precedenza. In una richiesta di distanza, il Fattore John chiede la distanza da un dato fienile al fienile più lontano raggiungibile da esso tramite una sequenza di sentieri. È garantito che il fienile richiesto sia già stato costruito. Aiuta il Fattore John a rispondere a tutte le richieste.
La prima riga contiene un numero intero q~(1 \le q \le 10^5) — il numero di richieste. Ciascuna delle successive righe contiene una singola richiesta nella forma B p oppure Q k. La richiesta B p significa che viene costruito un nuovo fienile, collegato al fienile ; se p = -1, il nuovo fienile non viene collegato a nessun altro fienile, altrimenti è il numero di un fienile già costruito. La richiesta Q k richiede di trovare la distanza dal fienile al fienile più lontano raggiungibile da esso. I fienili sono numerati a partire da nell'ordine di costruzione: il primo fienile costruito ha numero , il secondo ha numero e così via.
Per ogni richiesta di distanza, stampa la risposta su una riga separata. Nota che per un fienile non collegato a nessun altro fienile, la risposta è .
I dati di input dell'esempio corrispondono alla seguente rete di fienili:
(1)
\
(2)---(4)
/
(3)Nella richiesta viene costruito il fienile . Nella richiesta viene chiesta la distanza dal fienile al fienile più lontano raggiungibile. Poiché il fienile non è collegato a nessun altro fienile, la risposta è . Nella richiesta viene costruito il fienile , collegato al fienile . Nella richiesta viene costruito il fienile , collegato al fienile . Nella richiesta viene chiesta la distanza dal fienile al fienile più lontano raggiungibile. In questo caso il fienile più lontano è il fienile , che si trova a distanza . Nella richiesta viene costruito il fienile , collegato al fienile . Nella richiesta viene chiesta la distanza dal fienile al fienile più lontano raggiungibile. Tutti e tre i fienili , e si trovano a distanza da esso, quindi la risposta è .
Esempio 1