Zeichenkettenkompression mit Wiederherstellung nach Wiederholungsregel

Go Hard strings

Aufgabe «Zeichenkettenkompression mit Wiederherstellung nach Wiederholungsregel»

Gegeben ist eine Zeichenkette, bestehend aus Buchstaben des lateinischen Alphabets (a-z) und Ziffern (0-9). Die Zeichenkette ist nach folgender Regel kodiert: Jede Gruppe von Zeichen, gefolgt von einer Zahl, bedeutet, dass diese Gruppe die angegebene Anzahl von Malen wiederholt werden muss. Beispielsweise bedeutet 'ab3c2' 'abababcc'. Eine Gruppe kann sowohl ein einzelnes Zeichen als auch eine in eckige Klammern eingeschlossene Zeichenfolge sein. Enthält die Gruppe keine Klammern, bezieht sich die Zahl auf das letzte Zeichen. Fehlt die Zahl, wird die Wiederholung als 1 angenommen. Es ist ein Programm zu schreiben, das eine kodierte Zeichenkette annimmt und die dekodierte Zeichenkette ausgibt. Die Länge der dekodierten Zeichenkette überschreitet nicht 10^6 Zeichen.

Eingabeformat

Eine Zeile, die die kodierte Sequenz enthält. Die Länge der Zeile überschreitet nicht 1000 Zeichen.

Ausgabeformat

Eine Zeile — die dekodierte Sequenz.

Beispiele

Beispiel 1

EINGABE
x2y3z
AUSGABE
xxyyyz

Beispiel 2

EINGABE
a2b[cd]3e
AUSGABE
aabcdcdcde

Beispiel 3

EINGABE
5 1 null root 10 2 1 child1 5 3 1 child2 7 4 2 grandchild 3 5 3 another 2
AUSGABE
main.go