#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector< vector<int> > arry; //写成arry(5) 可理解为设定大小5行
vector<int> d; //定义一个一维的数组;
int i, j, k, n;
int number;
scanf("%d", &n );
/*可以这样实现对vector二维的初始化,得到的是n行n列的矩阵*/
for( i=0; i<n; i++ ){
for( j=0; j<n; j++ ){
scanf("%d", &number );
d.push_back( number );
}
sort( d.begin(), d.end() ); //pai xu xuyao头文件algorithm
arry.push_back( d );
//d.clear(); //清空一维的数组
d.resize(0);
}
/*遍历输出*/
if( arry.empty() )
printf("0\n");
else{
for( i=0; i<arry.size(); i++ ) {
for( j=0; j<arry[0].size(); j++ ){
printf("%d ", arry[i][j] );
}
printf("\n");
}
}
return 0;
}