eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Сортування кортежів

Сортування кортежів

Назвемо кортежем довжини \textbf{M} набір з \textbf{M} натуральних чисел (\textbf{x_1}, \textbf{x_2}, \textbf{x_3}, ..., \textbf{x_M}). Положення чисел у наборі фіксовано, тобто, при роботі з кортежем числа всередині кортежу міняти місцями не можна. Вам буде задано набір з \textbf{N} кортежів, усі кортежі якого мають одну й ту ж довжину. Ваша задача полягає у тому, щоб упорядкувати ці кортежі за не спаданням. Для того, щоб розв'язати задачу, скористайтесь наступним визначенням порядку на наборі кортежів. Кортеж (\textbf{x_1}, \textbf{x_2}, \textbf{x_3}, ..., \textbf{x_M}) строго менше, ніж кортеж (\textbf{y_1}, \textbf{y_2}, \textbf{y_3}, ..., \textbf{y_M}), якщо існує такий номер елемента кортежа \textbf{K}, що для усіх елементів з номерами \textbf{1} ≤ \textbf{i} < \textbf{K} з кортежів виконується \textbf{x_i} = \textbf{y_i}, а для елементів з номерами \textbf{K} виконується \textbf{x_K} < \textbf{y_K}. Тобто перші \textbf{K-1} елементи кортежів співпадають, а \textbf{K}-ий елемент у першому кортежі строго менше ніж у другому. Наприклад, кортеж (\textbf{3}, \textbf{5}, \textbf{6}, \textbf{7}, \textbf{6}, \textbf{9}) строго менше кортежа (\textbf{3}, \textbf{5}, \textbf{6}, \textbf{9}, \textbf{1}, \textbf{1}), так як перші три числа у цих кортежах співпадають, а четвете число у першому кортежі менше ніж у другому. Кортежі (\textbf{4}, \textbf{1}, \textbf{2}, \textbf{2}, \textbf{1}) та (\textbf{4}, \textbf{1}, \textbf{2}, \textbf{2}, \textbf{1}) рівні, а кортеж (\textbf{5}, \textbf{2}, \textbf{3}, \textbf{6}, \textbf{8}, \textbf{6}, \textbf{7}) строго більше кортежа (\textbf{5}, \textbf{2}, \textbf{1}, \textbf{9}, \textbf{3}, \textbf{3}, \textbf{7}). Ось ще приклади порівняння кортежів: (\textbf{1}, \textbf{2}, \textbf{3}, \textbf{4}, \textbf{5}) < (\textbf{1}, \textbf{2}, \textbf{3}, \textbf{4}, \textbf{7}) (\textbf{4}, \textbf{6}, \textbf{3}, \textbf{2}, \textbf{5}) > (\textbf{2}, \textbf{9}, \textbf{9}, \textbf{9}, \textbf{9}) (\textbf{5}, \textbf{4}, \textbf{4}) < (\textbf{6}, \textbf{3}, \textbf{3}) (\textbf{5}, \textbf{4}, \textbf{4}) > (\textbf{5}, \textbf{3}, \textbf{5}) (\textbf{4}, \textbf{3}, \textbf{2}, \textbf{4}, \textbf{5}, \textbf{5}) = (\textbf{4}, \textbf{3}, \textbf{2}, \textbf{4}, \textbf{5}, \textbf{5}) \InputFile У першому рядкуе вхідного текстового файла міститься два натуральних числа \textbf{N} та \textbf{M}, відокремлених пропуском. \textbf{N} - це кількість кортежів (\textbf{1} ≤ \textbf{N} ≤ \textbf{1000000}), \textbf{M} - кількість чисел у кожному кортежі (\textbf{1} ≤ \textbf{M} ≤ \textbf{10}). Далі йде \textbf{N} рядків, у кожному з яких через пропуск записано \textbf{M} чисел - елементи відповідного кортежу. Елементи кожного кортежу - цілі числа з діапазону від \textbf{1} до \textbf{9} включно. \OutputFile Виведіть у вихідний текстовий файл усі кортежі у неспадаючому порядку. Кожен кортеж необхідно виводити у окремому рядку. Елементи кортежу відокремлюйте одним пропуском. У першому рядку файла повинен виводитись перший по порядку кортеж. У останньому - самий останній.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 5
2 5 1 6 8
1 3 5 3 7
1 2 5 2 9
2 4 3 7 1
Вихідні дані #1
1 2 5 2 9
1 3 5 3 7
2 4 3 7 1
2 5 1 6 8
Джерело III этап УОИ Крым, Симферополь, 22 февраля 2012 г. II тур