#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int N=130;
int r,c;
char ch[N][N];
int dx[]={-1,1,0,0};
int dy[]={0,0,-1,1};
int vis[N][N];
struct node{
int x,y;
};
vector<node> ans;
void print(){
for(int i=0;i<ans.size();i++){
cout<<ans[i].x<<' '<<ans[i].y<<endl;
}
return ;
}
bool check(int x,int y){
return (x>=1&&x<=r&&y>=1&&y<=c&&vis[x][y]==0&&ch[x][y]!='*');
}
void bfs(){
queue<node> Q;
Q.push({1,1});
ans.push_back({1,1});
if(r==1&&c==1){
print();
return ;
}
while(Q.size()){
node u=Q.front();
Q.pop();
for(int i=0;i<4;i++){
int xx=u.x+dx[i];
int yy=u.y+dy[i];
if(check(xx,yy)){
vis[xx][yy]=1;
ans.push_back({xx,yy});
if(xx==r&&yy==c){
print();
return ;
}
Q.push({xx,yy});
}
}
}
return ;
}
signed main(){
cin>>r>>c;
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
cin>>ch[i][j];
}
}
bfs();
return 0;
}
输出很多奇奇怪怪的坐标