Koniec kola: 11. február 2019 23:59
20 days
Počet bodov:
Popis:  12b
Program:  8b

Janko sa na internáte delí o chladničku s ďalšími troma ľuďmi. Často sa mu stáva, že jedlo, ktoré si do nej odloží, mu odtiaľ záhadným spôsobom zmizne. Napríklad, v minulú nedeľu si z domu doniesol lahodné grilované kuracie stehno s ryžou a nivovou omáčkou. Odložil ho na svoju poličku v chladničke s tým, že ho zje v pondelok večer.

V pondelok večer o 19.00 sa po celom dni na fakulte, hladný ako vlk, vrátil na internát. Otvoril chladničku a čo tu vidí? Nič! Stehno a jeho predstavy o lahodnej večeri sú preč.

Povedal si, že to už takto ďalej nemôže pokračovať, a prišiel s nápadom: Uloží si do chladničky okrem jedlých vecí aj veci nejedlé. Všetky veci zabalí do alobalu tak, aby spolubývajúci nevedeli, čo je dnu.

Problém je, že takto ani on nebude vedieť, čo môže bezpečne zjesť. Našťastie, Janko sa nedávno v škole učil o šifrách a tak pozná spôsob, ako si označí balíčky tak, aby ich obsah poznal iba on.

Vytvoril si teda tabuľku, v ktorej každému malému písmenu anglickej abecedy priradil práve jedno veľké písmeno anglickej abecedy. Balíčky si označil dvoma slovami. Prvé sa skladá z malých písmen anglickej abecedy a druhé z veľkých písmen anglickej abecedy. Ak je v balíku jedlo, tak druhé slovo je vytvorené z prvého podľa tejto tabuľky.

Jankoví spolubývajúci, ktorí nepoznajú túto šifru, si tak dosť pravdepodobne pochutia na nejedlých balíčkoch, ktoré môžu obsahovať napríklad drevo alebo kapsuly s pracím práškom.

Napíšte Jankovi program, ktorý mu pomôže zistiť, či je daný balíček jedlý.

Úloha

Na vstupe je zoznam balíčkov v chladničke. Na každom z nich sa nachádzajú práve dve slová. Zistite podľa slov na každom balíčku, či je v ňom jedlo. V balíčku sa nachádza jedlo práve vtedy, keď platí:

  • Každému písmenu v prvom slove je pridelené práve jedno veľké písmeno (obraz) v druhom slove.
  • Rovnaké písmená majú rovnaký obraz.
  • Rozdielne písmená majú rozdielny obraz.
  • Poradie obrazov v druhom slove zodpovedá poradiu písmen v prvom slove.

Formát vstupu

Na prvom riadku vstupu sa nachádza číslo \(1 \leq t \leq 10^4\), počet balíčkov v chladničke. Nasleduje \(t\) popisov balíčkov – dva riadky obsahujúce slová na jednotlivom balíčku. Prvé slovo je tvorené malými, a druhé veľkými písmenami anglickej abecedy. Každé slovo obsahuje aspoň jeden znak. Platí, že súčet dĺžok všetkých slov nepresahuje \(4\,000\,000\).

Formát výstupu

Pre každý balíček na výstup vypíšte “ano”, ak je v ňom jedlo, inak vypíšte “nie”.

Príklady

Input:

4
anna
ABBA
anna
ABB
lopta
HOKEJ
banany
ANANAS

Output:

ano
nie
ano
nie

Zo slova “anna” sa ‘a’ zobrazilo do ‘A’ a ‘n’ do ‘B’

Slovo “ABB” je kratšie než “anna”, takže neplatí, že každé písmeno z prvého slova sa práve raz zobrazí do druhého.

V slove “lopta” sa žiadne písmeno neopakuje, takže päť písmen sa zobrazilo do piatich rôznych obrazov.

Slovo “banany” sa nezobrazilo správne do slova “ANANAS”, keďže až dvom písmenám ‘b’ a ‘n’ je priradené ‘A’.

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.