Start

2014-03-16 09:00 CET

PO-final 2014

End

2014-03-16 14:00 CET
The end is near!
Contest is over.
Not yet started.
Contest is starting in -2455 days 13:44:05

Time elapsed

5:00:00

Time remaining

0:00:00

Problem B
Översättning

Ett enkelt översättningsprogram används för att översätta texter mellan två olika språk, kalla dem $A$ och $B$. Programmet översätter texten ord för ord enligt en ordlista. När ett ord ska översättas letar programmet upp den första förekomsten av ordet i ordlistan och översätter enligt den.

Om vi med ett sådant program översätter en text från $A$ till $B$ och sedan tillbaka till $A$ är det inte säkert att vi får tillbaka precis samma text. I den här uppgiften ska du upprepa denna procedur tills texten inte ändrar sig längre. Närmare bestämt:

  1. Låt $a$ vara en text (en samling ord) i språket $A$.

  2. Översätt $a$ från $A$ till $B$, kalla den nya texten $b$.

  3. Översätt $b$ från $B$ till $A$, kalla den nya texten $a’$.

  4. Om $a \not= a’$, börja om från steg 1 med $a’$. Annars är texten färdigöversatt.

Givet en ordlista och en text, skriv ut texten som skapas av ovanstående algoritm.

Indata

På första raden står ett heltal n ($1 \leq N \leq 50\, 000$), antalet ord i ordlistan. Sedan följer $N$ rader med två ord (bestående av endast tecken a-z, inga mellanslag) på varje rad som beskriver hur ord ska översättas. Ett ord är maximalt 20 tecken långt. Det första ordet är i språket $A$ och det andra i språket $B$. Sedan följer ett heltal $1 \leq M \leq 100\, 000$, antalet ord i textsträngen som ska översättas. Sista raden innehåller textsträngen som ska översättas bestående av ord separerade av mellanslag. Det är garanterat att alla ord i texten finns i ordlistan.

Utdata

Skriv ut en enda rad, texten som ges av algoritmen när den är färdig.

Exempel

För det första exempeltestfallet så kommer algoritmen översätta meningen i följande steg:

  1. programmering ar valdigt roligt

  2. programmering ar valdigt skoj

  3. programmering ar valdigt kul

Delpoäng

I det här problemet kan du samla en del av poängen utan att lösa problemet fullständigt.

  • För $40$ poäng gäller att det är som mest $100$ ord i ordlistan, och som mest $100$ ord i strängen som ska översättas.

  • För ytterligare 30 poäng gäller att det är som mest $1\, 000$ ord i ordlistan.

Sample Input 1 Sample Output 1
8
programmering programming
ar is
valdigt very
kul fun
skoj fun
mycket very
skoj amusing
roligt amusing
4
programmering ar mycket roligt
programmering ar valdigt kul