#include #include #include #include #include using namespace std; int n, a[200][200], v[200 * 200]; int main() { #ifndef ONLINE_JUDGE freopen("date.in", "r", stdin); freopen("date.out", "w", stdout); #endif int n; cin>>n; for(int i=1;i<=n*n;i++) cin>>v[i]; sort(v+1,v+n*n+1); for(int i=1;i<=(n*n)/2;i++) swap(v[i],v[n*n-i+1]); for(int i = 1 ; i <= n ; ++ i) a[i][i] = v[i]; /// vrem sa punem in matrice restul elementelor /// n + 1 ... n * n int k = n + 1; /// primele n elemente le-am folosit /// avem nevoie de elementele de la k la n * n for(int i = 1 ; i <= n ; ++ i) for(int j = 1 ; j<= n ; ++ j) { if(i != j) { a[i][j] = v[k]; ++ k; /// am folosit elementeul v[k], si trecem la urmatorul } } for(int i = 1 ; i <= n ; ++ i, cout << '\n') for(int j = 1 ; j <= n ; ++ j) cout << a[i][j] << ' '; return 0; }