Module: Hashing


Problem

2 /8


Problem

Eines Tages kehrte Constantine, nachdem er an einem anderen, bereits 13. internationalen Olympia-Konto teilgenommen hatte, in einem Zug nach Hause zurück. Er saß immer dort und denkt an die Bedeutung des Lebens, und dann macht er seine Programmieraufgaben. Nach einer Weile ist Constantine kalt, aber hier ist die Mühe, aufzuwachen, er muss sich einer Herausforderung stellen, die ihm keinen Frieden gibt!

Dieses Mal hatte Constantine einen Baum ursprünglich aus nur einem Top mit Nummer 1. In seiner Aufgabe wurden dem Baum allmählich neue Spitzen hinzugefügt. Im i-sek. Baum wurde das Top mit i+1 dem Baum hinzugefügt und als Sohn an die Spitze gehängt.Iund auf der Rippe zwischen i+1 und pI geschriebener Buchstabe ci.

Jede Route von der Wurzel des Baumes bis zur Oberseite des v entspricht einer bestimmten Linie, die durch Löschen der Symbole auf dem aktuellen Pfad erhalten wird, um von der Wurzel bis zur Oberseite des v. Constantine zu folgen, war keine leichte Aufgabe auf den ersten Blick - nach jeder Zugabe des neuen Gipfels zählt die Anzahl der eindeutigen Linien, die an der Wurzel des Baumes (bis zur Zahl 1).

Constantines Traum ist kein Genie, also kann er es nicht selbst machen. Hilf Constantine, die Herausforderung zu erfüllen und damit aufzuwachen.

Eingabe:
In der ersten Zeile ist die Anzahl von n die Anzahl der Anträge auf Hinzufügung eines neuen Tops an einen Baum (1 PO=300000).
Die folgenden n Zeilen beschreiben die Peaks ' Anfragen. i-Anforderung wird in p-Parametern beschrieben.I (1 p)I i) und cIdas bedeutet, dass ein hinzugefügter i+1-Peak mit einer p-Nummer nach oben gelegt wirdI als Nachkommen und Symbol c auf der RippeI - Ein steifes lateinisches Alphabet.

Ausgangsdaten:
Nehmen Sie die Linien. In der i-line, reagieren auf Constantine ' s Aufgabe nach dem Hinzufügen von i+1.

Beispiele:
EingangsdatenAusgangsdaten
2
1 b
Artikel 2
1
2
3
1
1
2 j
1
1
2