#include<stdio.h>
struct Thing
{
int a,b,value; //构建结构体
};
int main()
{
int m,n;
Thing th[100][100],t;//定义一个 二维数组 去存放 某个物品,并且定义一个 暂存的空间;
scanf("%d %d",&n,&m);//读入行列
int i,j,p,q;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&th[i][j].value);//读入每个物体的价值
th[i][j].a=i+1;//赋值 行
th[i][j].b=j+1;//赋值 列
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
for(p=i;p<n;p++)
for(q=j;q<m;q++)
if(th[i][j].value<th[p][q].value || th[i][j].value==th[p][q].value && th[i][j].a>th[p][q].a ||
th[i][j].value==th[p][q].value && th[i][j].a==th[p][q].a && th[i][j].b>th[p][q].b)
{
t=th[i][j];th[i][j]=th[p][q];th[p][q]=th[i][j];//交换
}
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf("%d %d %d\n",th[i][j].a,th[i][j].b,th[i][j].value);//输出
}
return 0;
}