codeforces 718 B
#include<iostream>
#include<algorithm>
using namespace std;
const int N=110;
int a[N][N],b[N*N];
bool vis[N][N];
int n,m;
int k;
int x1,y1;
int main()
{
int t;cin>>t;
while(t--)
{
int aa=0;
k=0;
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
cin>>a[i][j];
b[k++]=a[i][j];
}
sort(b,b+k);
// for(int i=0;i<k;i++) cout<<b[i]<<' ';
// cout<<endl;
for(int i=0;i<m;i++)
{
for(int x=0;x<n;x++)
for(int y=0;y<m;y++)
if(a[x][y]==b[i]&&!vis[x][y])
{
x1=x;
y1=y;
//vis[x][y]=true;
break;
}
vis[x1][aa]=true;
swap(a[x1][aa++],a[x1][y1]);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
vis[i][j]=false;
}
return 0;
}