program problemDomimatrix; var a: array[ 1..10000 ] of int64; procedure qsort( l, r: longInt ); var i, j: longInt; t, med: int64; begin if ( l < r ) then begin i := l; j := r; med := a[ l + random(r - l + 1) ]; while ( i <= j ) do begin while ( a[i] > med ) do inc( i ); while ( a[j] < med ) do dec( j ); if ( i <= j ) then begin t := a[i]; a[i] := a[j]; a[j] := t; inc( i ); dec( j ); end; end; qsort( l, j ); qsort( i, r ); end; end; var n, i, j, k: longInt; begin readln( n ); for i := 1 to n * n do read( a[i] ); qsort( 1, n * n ); k := n + 1; for i := 1 to n do begin for j := 1 to n do begin if ( i = j ) then write( a[i] ) else begin write( a[k] ); inc( k ); end; if ( j < n ) then write( ' ' ); end; writeln(); end; end.