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.
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.
Skriv ut en enda rad, texten som ges av algoritmen när den är färdig.
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
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 |