#include<bits/stdc++.h>
using namespace std;
int n,m;
char f[1005][1005];
int main(){
cin>>n>>m;
char mx=1,mx2d=1;
int mxi[1005]={},mxj[1005]={};
char linmax[1005]={};
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>f[i][j];
if(f[i][j]!='#'){
mx=max(f[i][j],mx);
}
}
}
int k=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(f[i][j]==mx) {
mxi[++k]=i;
mxj[++k]=j;
cout<<i<<' '<<j<<endl;
}
}
}
for(int i=1;i<=k;i++){
if(f[mxi[i]-1][mxj[i]-1]!='#') linmax[i]=max(mx2d,f[mxi[i]-1][mxj[i]-1]);
if(f[mxi[i]+1][mxj[i]-1]!='#') linmax[i]=max(mx2d,f[mxi[i]+1][mxj[i]-1]);
if(f[mxi[i]-1][mxj[i]+1]!='#') linmax[i]=max(mx2d,f[mxi[i]-1][mxj[i]+1]);
if(f[mxi[i]+1][mxj[i]+1]!='#') linmax[i]=max(mx2d,f[mxi[i]+1][mxj[i]+1]);
cout<<linmax[i]<<endl;
}
for(int i=1;i<=k;i++){
mx2d=max(mx2d,linmax[i]);
}
return 0;
}