Considerăm cele 26 de literele mici ale alfabetului: abcdefghijklmnopqrstuvwxyz şi avem relaţiile a < b < c < ... < y < z. Dar dacă am rescrie literele din acest şir în altă ordine, am putea obţine alte relaţii între litere. De exemplu, dacă şirul de litere este dat astfel: mlvbkcdefghijnopqrstuwxzya, atunci spunem că m < l < v < b < ... < y < a. Aceasta înseamnă că şi ordinea cuvintelor din dicţionar se schimbă. Adică mere este acum înaintea cuvântului mama, deoarece prima literă a celor două cuvinte coincide, dar e < a în noua ordonare. La fel, verde < abecedar, deoarece v < a, iar cap < capac, deoarece primul cuvânt este mai scurt.
Cerinţă
Având la dispoziţie noua ordonare a literelor mici şi un text care conţine cuvinte formate numai din litere mici şi separatori, se cere să se afişeze cuvintele din text ordonate crescător conform noii aşezări a literelor.
Date de intrare
Fişierul de intrare ordonare.in conţine pe prima linie şirul de 26 de litere mici într-o ordine oarecare. Literele nu sunt separate prin spaţii. Pe linia a doua se află textul format din cuvinte şi separatori, textul fiind terminat cu enter.
Date de ieşire
Fişierul de ieşire ordonare.out va conţine pe o singură linie cuvintele ordonate crescător ca în dicţionar, cuvintele fiind separate printr-un singur spaţiu. Linia se termină cu enter.
Restricţii
Textul are lungimea maximă 2000, iar fiecare cuvânt va avea cel puţin o literă şi cel mult 30 de litere. Numărul de cuvinte din text nu depăşeşte 1000.
Separatorii cuvintelor sunt: caracterul spaţiu şi cele din mulţimea {. , ; ! ? : } (acoladele nu sunt separatori!).
Exemplu
ordonare.in
ordonare.out
ieouaxjnmlvbkdfghpqrstwzyc
...e bine: ace, iele este!? ecou un, unt, untura.