#000301

SORT

Mirko u zadnje vrijeme istražuje kriptografiju. Načuo je od jednog svojeg prijatelja da je najbolji način za razbiti bilo koju šifru frekvencijska analiza. Mirko ne zna što to znači, ali njegov prijatelj mu je natuknuo da je najvažnije prebrojiti koliko puta se pojavljuje koji broj u šifriranoj poruci. Mirko ima neprijateljsku šifriranu poruku. Šifrirana poruka je niz N prirodnih brojeva manjih ili jednakih []. Mirku je teško prebrojiti koliko se kojih brojeva nalazi u poruci zbog toga što nisu poredani. Sad vas moli da napišete program koji će brojeve u poruci poredati prema broju pojavljivanja u poruci.Preciznije: za svaka dva broja u poruci, X i Y u izlazu se X mora nalaziti prije Y ukoliko se u cijeloj poruci X ponavlja više puta nego Y. Ukoliko se ponavljaju jednaki broj puta, onaj broj čija vrijednost se u poruci pojavljuje prije, mora se u izlazu nalaziti prije.


InputU prvom redu nalazi se prirodan broj N (1 ≤ N ≤ 1 000), broj brojeva u poruci, i prirodan broj C (1 ≤ C ≤ 1 000 000 000), broj iz teksta zadatka.U sljedećem retku nalazi se N prirodnih brojeva manjih ili jednakih C, tekst poruke.

OutputProgram treba ispisati N brojeva iz ulaza, poredanih kako je opisano u tekstu zadatka.

Ulaz
[c]5 2
2 1 2 1 2

Izlaz
2 2 2 1 1

Ulaz
9 3
1 3 3 3 2 2 2 1 1

Izlaz
1 1 1 3 3 3 2 2 2

Ulaz
9 77
11 33 11 77 54 11 25 25 33

Izlaz
11 11 11 33 33 25 25 77 54

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.