#include <bits/stdc++.h>
using namespace std;
ifstream f1("SortMT.inp");
ofstream f2("SortMT.out");
long n,m,maxa,mina;
long d[1000];
long a[1000][1000];
long row,col,i;
int main()
{
    f1>>n>>m;
    for(row=1;row<=n;row++){
        for(col=1;col<=m;col++){
            f1>>a[row][col];
        }
    }
    maxa=a[1][1];
    mina=a[1][1];
    for(row=1;row<=n;row++){
        for(col=1;col<=m;col++){
            if(maxa<a[row][col]){
                maxa=a[row][col];
            }
            if(mina>a[row][col]){
                mina=a[row][col];
            }
        }
    }
    f2<<maxa<<" "<<mina<<endl;
    for(row=1;row<=n;row++){
        for(col=1;col<=m;col++){
            d[col]=a[row][col];
        }
        sort(d+1,d+m+1);
        for(i=1;i<=m;i++){
            f2<<d[i]<<" ";
        }
        f2<<endl;
    }
    f1.close();
    f2.close();
    return 0;
}
