#include #include #include #include #include #include #include #include #define vecType int #define inchide exit(-1); #ifdef home bla bla bla #endif // home #undef home #ifdef home bla #endif // home using namespace std ; inline int MAX(int a , int b ) { return ( ( a > b ) ? a : b ) ; } const int vecSize = 100 ; int numcompare( const void * A , const void * B ) { return ( *(int*)B - *(int*)A ) ; } int main() { //freopen("input.in" , "r" , stdin ) ; int n ; int v [100 * 100] ; int i ,j ; cin >> n ; // int * m = (int*)calloc(n , sizeof(int)) ; for ( i = 0 ; sqrt(i) < n ; i++ ) cin >> v [ i ] ; qsort(v , n * n , sizeof(int) , numcompare ) ; // for ( i = 0 ; sqrt(i) < n ; i++ ) //cout << v [ i ] << '\t' ; int x = n ; for ( int i = 0 ; i < n ; i ++ ) { for ( int j = 0 ; j < n ; j ++ ) { if ( i == j ) cout << v [ i ] << ' ' ; else cout << v [ x ++ ] << ' ' ; } cout << '\n' ; } return 0 ; }