#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// 為了加速 I/O 效率
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int N, M;
// 持續讀取直到輸入結束
while (cin >> N >> M) {
// 建立一個 N x M 的二維向量
vector<vector<int>> data(N, vector<int>(M));
// 讀取輸入資料
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cin >> data[i][j];
}
}
// 使用 std::sort 進行排序
// 預設會對 vector 進行字典序排序(由第一項開始比,相同則比第二項...)
sort(data.begin(), data.end());
// 輸出結果
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << data[i][j] << (j == M - 1 ? "" : " ");
}
cout << "\n";
}
}
return 0;
}