#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< vector< int >> diagonalSort( vector< vector< int >> & A) {
int Lj4PdHRW;
int X;
int Y;
X = A.size ( ) ;
Y = A[ 0 ] .size ( ) ;
for ( Lj4PdHRW= ( 0 ) ; Lj4PdHRW< ( 100 ) ; Lj4PdHRW++ ) {
int i;
for ( i= ( 1 ) ; i< ( X) ; i++ ) {
int j;
for ( j= ( 1 ) ; j< ( Y) ; j++ ) {
if ( A[ i- 1 ] [ j- 1 ] > A[ i] [ j] ) {
swap( A[ i- 1 ] [ j- 1 ] , A[ i] [ j] ) ;
}
;
}
}
}
return A;
}
}
;
// cLay varsion 20200119-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<vector<int>> diagonalSort(vector<vector<int>>& A) {
// int X, Y;
// X = A.size();
// Y = A[0].size();
// rep(100) rep(i,1,X) rep(j,1,Y) sortE(A[i-1][j-1], A[i][j]);
// return A;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gZGlhZ29uYWxTb3J0KHZlY3Rvcjx2ZWN0b3I8aW50Pj4mIEEpewogICAgaW50IExqNFBkSFJXOwogICAgaW50IFg7CiAgICBpbnQgWTsKICAgIFggPSBBLnNpemUoKTsKICAgIFkgPSBBWzBdLnNpemUoKTsKICAgIGZvcihMajRQZEhSVz0oMCk7TGo0UGRIUlc8KDEwMCk7TGo0UGRIUlcrKyl7CiAgICAgIGludCBpOwogICAgICBmb3IoaT0oMSk7aTwoWCk7aSsrKXsKICAgICAgICBpbnQgajsKICAgICAgICBmb3Ioaj0oMSk7ajwoWSk7aisrKXsKICAgICAgICAgIGlmKEFbaS0xXVtqLTFdID4gQVtpXVtqXSl7CiAgICAgICAgICAgIHN3YXAoQVtpLTFdW2otMV0sIEFbaV1bal0pOwogICAgICAgICAgfQogICAgICAgICAgOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIEE7CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMjAwMTE5LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBkaWFnb25hbFNvcnQodmVjdG9yPHZlY3RvcjxpbnQ+PiYgQSkgewovLyAgICAgaW50IFgsIFk7Ci8vICAgICBYID0gQS5zaXplKCk7Ci8vICAgICBZID0gQVswXS5zaXplKCk7Ci8vICAgICByZXAoMTAwKSByZXAoaSwxLFgpIHJlcChqLDEsWSkgc29ydEUoQVtpLTFdW2otMV0sIEFbaV1bal0pOwovLyAgICAgcmV0dXJuIEE7Ci8vICAgfQovLyB9Owo=