Busy Beaver tworzy nowy język na swoje zajęcia z lingwistyki! Postanowił już, że jego język będzie miał alfabet, którego literami są liczby całkowite $1, \dots, NM$ w tej kolejności; teraz chce stworzyć kilka słów dla tego języka.
Ponieważ Busy Beaver interesuje się statystyką, chce kontrolować częstość występowania liter w słowach, dlatego wybrał multizbiór $a$ o rozmiarze $NM$ składający się z liter jego alfabetu. Teraz utworzy $N$ słów, każde o długości $M$, w taki sposób, aby każda litera z $a$ została użyta dokładnie raz (tzn. jeśli dana litera $x$ występuje dokładnie $k$ razy w $a$, to jest używana dokładnie $k$ razy we wszystkich $N$ słowach łącznie).
Po utworzeniu słów, Busy Beaver planuje uporządkować je w słownik, więc posortuje leksykograficznie swoje $N$ słów, aby otrzymać ciąg słów $s_1, \dots, s_N$. Busy Beaver lubi, gdy ciągi znaków są leksykograficznie małe, więc dla każdego $k$ od $1$ do $N$ chce poznać leksykograficznie najmniejszą możliwą wartość $s_k$ przy wszystkich możliwych wyborach słów.
Zauważ, że odpowiedź dla każdego $s_k$ jest niezależna; na przykład wybór słów tak, aby zminimalizować $s_1$, może być inny niż wybór słów tak, aby zminimalizować $s_2$.
Wejście
Pierwsza linia zawiera dwie liczby całkowite dodatnie $N, M$ ($1 \le NM \le 10^6$).
Druga linia zawiera $NM$ liczb całkowitych $a_1, \dots, a_{NM}$ tworzących multizbiór $a$ ($1 \le a_j \le NM$).
Wyjście
Dla każdego $k$ od $1$ do $N$ wypisz w osobnej linii minimalną możliwą wartość $s_k$ jako ciąg liczb całkowitych oddzielonych spacjami.
Przykład
Wejście 1
4 3 1 1 2 2 3 3 4 4 5 5 6 6
Wyjście 1
1 1 2 1 2 3 2 2 3 2 3 4
Wejście 2
3 4 12 4 4 4 1 1 4 4 6 4 1 4
Wyjście 2
1 1 1 4 1 4 4 4 1 4 4 12
Wejście 3
4 5 12 7 17 3 6 11 9 2 17 7 1 6 9 12 6 3 9 12 2 15
Wyjście 3
1 2 2 3 3 2 2 3 3 6 2 3 6 7 7 3 3 6 6 6
Wejście 4
1 1 1
Wyjście 4
1
Uwagi
W pierwszym przykładzie następujące wybory słów minimalizują każde $s_k$:
Wybierając słowa 112, 233, 445, 566, otrzymujemy $s = 112, 233, 445, 566$, więc $s_1 = 112$ zgodnie z oczekiwaniami.
Wybierając słowa 123, 456, 123, 456, otrzymujemy $s = 123, 123, 456, 456$, więc $s_2 = 123$ zgodnie z oczekiwaniami.
Wybierając słowa 166, 155, 344, 223, otrzymujemy $s = 155, 166, 223, 344$, więc $s_3 = 223$ zgodnie z oczekiwaniami.
Wybierając słowa 234, 234, 156, 156, otrzymujemy $s = 156, 156, 234, 234$, więc $s_4 = 234$ zgodnie z oczekiwaniami.
Można wykazać, że we wszystkich tych przypadkach nie ma sposobu na wybranie słów tak, aby odpowiednie $s_k$ było jeszcze mniejsze leksykograficznie.