#include #include using namespace std; void quickSort(int arr[], int left, int right) { int i = left, j = right; int tmp; int pivot = arr[(left + right) / 2]; while (i <= j) { while (arr[i] > pivot) i++; while (arr[j] < pivot) j--; if (i <= j) { tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; i++; j--; } }; if (left < j) quickSort(arr, left, j); if (i < right) quickSort(arr, i, right); } int main(){ int N; cin >> N; int Nn = N*N; int tb[Nn]; int rtb[Nn]; for(int i = 0;i < Nn;++i){ cin >> tb[i]; } quickSort(tb,0,Nn-1); int usd = 0; for(int i = 0;i < Nn;++i){ if(i%(N+1) == 0){ rtb[i] = tb[i/(N+1)]; ++usd; }else{ rtb[i] = tb[(i+N-usd)]; //cout << tb[(i+N-usd)] << endl; } } for(int i = 0;i < Nn;++i){ cout << rtb[i]; if((i+1)%N == 0){ cout << endl; }else{ cout << " "; } } }