Ö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:
-
Låt $a$ vara en text (en samling ord) i språket $A$.
-
Översätt $a$ från $A$ till $B$, kalla den nya texten $b$.
-
Översätt $b$ från $B$ till $A$, kalla den nya texten $a’$.
-
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:
-
programmering ar valdigt roligt
-
programmering ar valdigt skoj
-
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 |