#include #include const int NMAX = 105; using namespace std; int N,crt; int v[NMAX*NMAX]; int mat[NMAX][NMAX]; bool used[NMAX]; bool cmp(int a, int b) { if (a >= b) return true; return false; } int main() { cin >> N; for (int i = 1; i <= N*N; ++i) { cin >> v[i]; } sort(v+1,v+N*N+1,cmp); for (int i = 1; i <= N; ++i) { mat[i][i] = v[i]; } crt = N+1; for (int i = 1; i <= N; ++i) { for (int j = 1; j <= N; ++j) { if (i == j) { cout << mat[i][j] << " "; } else { cout << v[crt] << " "; crt++; } } cout << '\n'; } return 0; }