#include #include #include using namespace std; int n, mx, aux, k=1, v1[100]; vector v(100); int main() { cin >> n; for (int i = 1; i <= n*n; i++){ cin >> v[i]; } for (int i = 1; i <= n; i++){ v1[k] = *(std::max_element(v.begin(), v.end())); for (int j = 1; j <= n*n; j++) if (v[j] == v1[k]){ v[j] = -1; break; } k+=4; } k=1; for (int i = 1; i <= n*n; i++){ if ((i-1) % (n+1) != 0){ if (v[k]!=-1) v1[i]=v[k]; else {while (v[k]==-1) k++; v1[i]=v[k]; }} k++; } k=1; for (int i = 1; i <= n*n; i++){ if (k==n+1) {cout <<"\n"; k=1;} cout << v1[i] <<" "; k++;} return 0; }