#include "bits/stdc++.h" using namespace std; #define _CRT_SECURE_NO_WARINGS #define INIT ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define ALL(obj) (obj).begin(),(obj).end() #define RALL(obj) (obj).rbegin(),(obj).rend() #define SORT(obj) sort(ALL(obj)) #define RSORT(obj) sort(RALL(obj)) #define REP(i,n) for(int i = 0; i < (n); ++i) #define COUT_ALL(x) for(auto i=x.begin();i!=--x.end();i++)cout<<*i<<" ";cout<<*--x.end()<bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; } templatebool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; } template istream& operator >> (istream& is, vector& vec) {for (T& x : vec) is >> x;return is;} template ostream& operator << (ostream& os, vector& vec) { for (int i = 0; i < vec.size(); i++) { os << vec[i] << (i + 1 == vec.size() ? "" : " "); } return os;} int ctoi(char c) { return (c >= '0' && c <= '9') ? c - '0' : 0; } #pragma region F #pragma endregion signed main() { INIT; // 必須 int h, w; cin >> h >> w; vector X; REP(i, h){ REP(j, w) { int k; cin >> k; X.push_back(k); } } SORT(X); REP(i, h) { REP(j, w) { cout << X[ (w*i)+j] << (j == w-1 ? "" : " "); } cout << "\n"; /*REP(j, w) { X[(i * j) + 1]; }*/ } return 0; }