#include <stdio.h>
char tabla[105][105];
int xr,yr,xj,yj,xint,yint;
const int dirx[8]={-1,-1,-1,0,1,1,1,0},diry[8]={-1,0,1,1,1,0,-1,-1};
struct poz{
char x,y;
} coada1[10010], coada2[10010];
int lee(){
int lir,lsr,lij,lsj,i,j,u,v,gr=1,gj=1;
lir=lij=0;
lsr=lsj=1;
//adaug in coada poz curenta
//pt romeo
coada1[lir].x=xr;
coada1[lir].y=yr;
tabla[xr][yr]=2;
//coada1[lir].generatia=1;
//pt julieta
coada2[lij].x=xj;
coada2[lij].y=yj;
tabla[xj][yj]=3;
//coada2[lij].generatia=1;
//adaug in coada toti vecinii lor
while(lsr>lir && lsj>lij){
//expandez toata generatia curenta a lui romeo
j=lsr;
while(lir<j){
for(i=0;i<8;i++){
u=coada1[lir].x+dirx[i];
v=coada1[lir].y+diry[i];
if(tabla[u][v]!='X'){
if(tabla[u][v]%2){
coada1[lsr].x=u;
coada1[lsr].y=v;
tabla[u][v]*=2;
lsr++;
}
}
}
lir++;
}
gr++;
//acelasi lucru pt julieta
j=lsj;
while(lij<j){
for(i=0;i<8;i++){
u=coada2[lij].x+dirx[i];
v=coada2[lij].y+diry[i];
if(tabla[u][v]!='X'){
if(tabla[u][v]%3){
coada2[lsj].x=u;
coada2[lsj].y=v;
tabla[u][v]*=3;
lsj++;
}
}
}
lij++;
}
gj++;
/* printf("asa arata generatia curenta:\n");
printf("romeo:\n");
for(i=lir;i<lsr;i++)printf("(%d %d) ",coada1[i].x,coada1[i].y);
printf("\njulieta:\n");
for(i=lij;i<lsj;i++)printf("(%d %d) ",coada2[i].x,coada2[i].y);
*/
xint = 32000; yint=32000;
for(i=lir;i<lsr;i++)
for(j=lij;j<lsj;j++)
if((coada1[i].x==coada2[j].x)&&(coada1[i].y==coada2[j].y)){
if(xint>coada1[i].x){
xint=coada1[i].x;
yint=coada1[i].y;
}
if((xint==coada1[i].x)&&(yint>coada1[i].y)){
yint=coada1[i].y;
}
return gr;//coada2[j].generatia;
}
// printf("\n");
}
return -1;
}
int main(){
int n,m;
int i,j;
char q[200];
FILE *fin=fopen("rj.in","r");
fscanf(fin,"%d %d",&n,&m);
//init marginile matr cu x
for(i=0;i<=n+1;i++)tabla[i][0]=tabla[i][m+1]='X';
for(i=0;i<=m+1;i++)tabla[0][i]=tabla[n+1][i]='X';
fgets(q,150,fin);
for(i=1;i<=n;i++){
fgets (q,150,fin);
for(j=1;j<=m;j++){
tabla[i][j]=q[j-1];
if(tabla[i][j]=='R'){
xr=i;
yr=j;
}
if(tabla[i][j]=='J'){
xj=i;
yj=j;
}
if(tabla[i][j]==' '){
tabla[i][j]=1;
}
}
}
/* printf("\n");
for(i=0;i<=n+1;i++){
for(j=0;j<=m+1;j++)
printf("%c",tabla[i][j]);
printf("\n");
}
*/
fclose(fin);
FILE *fout=fopen("rj.out","w");
fprintf(fout,"%d %d %d\n",lee(),xint,yint);
fclose(fout);
/* printf("\n");
for(i=0;i<=n+1;i++){
for(j=0;j<=m+1;j++)
printf("%3d",(int)tabla[i][j]);
printf("\n");
}
*/
return 0;
}
/// Romeo , Julieta