eolymp
bolt
Try our new interface for solving problems
Problems

Сортировка кортежей

Сортировка кортежей

Назовем кортежем длины \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 Выведите в выходной текстовый файл все кортежи в неубывающем порядке. Каждый кортеж необходимо выводить в отдельной строке. Элементы кортежа разделять одним пробелом. В первой строке файла должен выводиться первый по порядку кортеж. В последней - самый последний.
Time limit 1 second
Memory limit 64 MiB
Input example #1
4 5
2 5 1 6 8
1 3 5 3 7
1 2 5 2 9
2 4 3 7 1
Output example #1
1 2 5 2 9
1 3 5 3 7
2 4 3 7 1
2 5 1 6 8
Source III этап УОИ Крым, Симферополь, 22 февраля 2012 г. II тур