#000557

Decode

Podaci kroz računarske mreže uglavnom putuju kao sekvence bita. Da bi prijemnik mogao saznati kako da čita primljenu poruku mora postojati informacija o načinu zapisa znakova. Jedan način je da odredimo jedan broj bita, K, i da svakom znaku dodjelimo broj u opsegu od 0 do 2^{K - 1}. Prednost ovog metoda je što tada prijemnik zna da je svaki znak predstavljen sa tačno K bita i on može lako znati o kojim se znakovima radi. Ali ovaj način ima manu da i mali brojevi zauzimaju K bita i time proces prenosa traje duže nego što bi mogao da traje. Zato se koriste kompresije.


Jedan od načina kompresije je da znakovi mogu imati različitu dužinu zapisa. Znakovima koji se ponavljaju češće od ostalih dodijelimo najmanje brojeve (sa najmanjim brojem bita) a onim rjeđim veće brojeve. Da bi prijemnik znao koliko bita određuje koji znak potrebno je da svaki znak ima zapis koji NIJE prefiks zapisa nekog drugog znaka (u suprotnom ne bi znao da li treba stati i ispisati znak ili nastaviti čitati bite i ispisati neki drugi znak).


Vaš zadatak je da napišete dekoder ovako kompresovane poruke ako vam je poznata tabela znakova.



InputU prvom redu se nalazi prirodan broj N ( 1 \leq N \leq 80), broj različitih znakova u poruci. U sljedećih N redova se nalaze po jedan znak i njegov binarni zapis, razdvojeni jednim znakom razmaka. Binarni zapis broja neće imati više od 80 bita i svi znakovi će biti standardni ASCII znakovi. Znakovi space, tab i newline (' ', '\t' I '\n') se neće javljati. U sljedećem redu se nalazi kompresovana poruka, čija veličina neće prelaziti 10 MB. Zapisi znakova će uvijek biti ispravni, tj. neće postojati zapis koji je prefiks nekog drugog zapisa.


OutputU prvi i jedini red izlaza ispišite originalnu poruku.


Input
5
A 0000
! 0001
c 001
D 01
e 1
00000001001100101

Output
A!cecD


Input
5
a 110
b 111
c 00
. 01
e 10
11010011110011010

Output
ae.bcae

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.