Vytvořte program, který setřídí zadané záznamy podle číselného klíče.
Vstup
Na první řádce je číslo N oznamující počet záznamů. Druhá řádka obsahuje schéma. Schéma je výčet jmen položek, které obsahuje každý záznám. Jednotlivá jména jsou oddělena stejně jako záznamy ;(středníkem).
Jedno ze jmen obsahuje za jménem * (hvězdičku). Tím se označuje klíč, podle kterého budou všechny záznamy setříděny na výstupu. Klíč je typu číslo (integer).
[N] <položka1-jméno>;<položka2-jméno>;...;<položkaI-jméno>*;...;<položkaM-jméno> <záznam1-položka1>;...;<záznam1-položkaM> ... <záznamN-položka1>;...;<záznamN-položkaM>
Výstup
Výstup má podobný formát jako vstup. Na první řádce již není počet záznamů, ale rovnou schéma. Následuje opět výčet N setříděných záznamů (od nejmenšího po největší). Položka, která byla použita jako klíč, se vypíše první, pořadí ostatních položek se nemění.
<položkaI-jméno>*;<položka1-jméno>;<položka2-jméno>;...;...;<položkaM-jméno> <záznam1-položkaI>;<záznam1-položka1>;...;<záznam1-položkaM> ... <záznamN-položkaI>;<záznamN-položka1>;...;<záznamN-položkaM>
Poznámky
Je možné používat libovolné nesetříděné kontejnery (pole, List, ...).
Třídění si musíte naprogramovat sami.
Nemusíte vymýšlet nic komplikovaného, libovlný stabilní třídící algoritmus s kvadratickou časovou složitostí na splnění úlohy stačí.
Nezapomeňte převést hodnoty, podle kterých třídíte, na čísla, při jejich porovnání jako stringů byste dostali špatné výsledky.
Pokud má více záznamů stejný klíč, zachovává se na výstupu pořadí ze vstupu.
Za posledním (jménem) záznamem není středník
Jména i jednotivé položky mohou obsahovat mezery.
Není potřeba validovat vstupy.
Klíč je označován i ve výstupním souboru hvězdičkou.
Příklad vstupu
6 jmeno;vek* adam;1 blazej;5 franta;5 cecilie;10 dana;2 eva;3
Příklad výstupu
vek*;jmeno 1;adam 2;dana 3;eva 5;blazej 5;franta 10;cecilie