#include <stdio.h>
int i,j,iR,iJ,jR,jJ,R[102][102],J[102][102],n,m;
char s[102];
int dx[8] = {-1, -1, 0, 1, 1, 1, 0, -1};
int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int d,ic,jc,iv,jv,p,u,c[2][102*102],ifin,jfin,min;
int main(){
FILE *f = fopen("rj.in","r");
FILE *g = fopen("rj.out","w");
fscanf(f, "%d %d\n", &n, &m);
for(i=1; i<=n; i++){
fgets(s,100,f);
for(j=0; j<m; j++){
if(s[j] == 'R'){
J[i][j+1] = -1;
R[i][j+1] = -1;
iR = i;
jR = j+1;
}
if(s[j] == 'J'){
J[i][j+1] = -2;
R[i][j+1] = -2;
iJ = i;
jJ = j+1;
}
if(s[j] == 'X'){
R[i][j+1] = -3;
J[i][j+1] = -3;
}
}
}
for(i=0; i<=n+1; i++){
R[0][i] = -3;
R[n+1][i] = -3;
J[0][i] = -3;
J[n+1][i] = -3;
}
for(i=0; i<=m+1; i++){
R[i][0] = -3;
R[i][m+1] = -3;
J[i][0] = -3;
J[i][m+1] = -3;
}
p=u=1;
c[0][1] = iR;
c[1][1] = jR;
R[iR][jR] = 1;
while(p<=u){
ic = c[0][p];
jc = c[1][p];
for(d=0; d<=7; d++){
iv = ic + dx[d];
jv = jc + dy[d];
if(R[iv][jv] == 0){
u++;
c[0][u] = iv;
c[1][u] = jv;
R[iv][jv] = R[ic][jc] + 1;
}
}
p++;
}
p=u=1;
c[0][1] = iJ;
c[1][1] = jJ;
J[iJ][jJ] = 1;
while(p<=u){
ic = c[0][p];
jc = c[1][p];
for(d=0; d<=7; d++){
iv = ic + dx[d];
jv = jc + dy[d];
if(J[iv][jv] == 0){
u++;
c[0][u] = iv;
c[1][u] = jv;
J[iv][jv] = J[ic][jc] + 1;
}
}
p++;
}
min = 1993;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++){
if(R[i][j] == J[i][j] && R[i][j] > 0 && R[i][j] < min){
ifin = i;
jfin = j;
min = R[i][j];
}
}
fprintf(g,"%d %d %d",min, ifin, jfin);
fclose(f);fclose(g);
return 0;
}