#include <stdio.h>
#define DIM 102
int C[2][DIM*DIM],R[DIM][DIM],J[DIM][DIM],i,j,ic,jc,iv,jv,isol,jsol,iR,jR,iJ,jJ,p,u,k,n,m,min;
int di[8]={0,0,1,-1,1,1,-1,-1};
int dj[8]={1,-1,0,0,-1,1,-1,1};
char w;
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++) {
for (j=1; j<=m; j++) {
fscanf(f,"%c",&w);
if (w=='R') {
iR = i;
jR = j;
}
if (w=='J') {
iJ = i;
jJ = j;
}
if (w=='X')
R[i][j] = J[i][j] = -1;
}
fscanf(f,"%c",&w);
}
for (j=0; j<=m+1; j++)
R[0][j] = R[n+1][j] = J[0][j] = J[n+1][j] = -1;
for (i=0; i<=n+1; i++)
R[i][0] = R[i][m+1] = J[i][0] = J[i][m+1] = -1;
p = u = 1;
C[0][u] = iR;
C[1][u] = jR;
R[iR][jR] = 1;
while (p<=u) {
ic = C[0][p];
jc = C[1][p];
for (k=0; k<=7; k++) {
iv = ic + di[k];
jv = jc + dj[k];
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][u] = iJ;
C[1][u] = jJ;
J[iJ][jJ] = 1;
while (p<=u) {
ic = C[0][p];
jc = C[1][p];
for (k=0; k<=7; k++) {
iv = ic + di[k];
jv = jc + dj[k];
if (J[iv][jv]==0) {
u++;
C[0][u] = iv;
C[1][u] = jv;
J[iv][jv] = J[ic][jc] + 1;
}
}
p++;
}
min = 902;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
if (R[i][j]==J[i][j] && R[i][j] < min && R[i][j] > 0) {
isol = i;
jsol = j;
min = R[i][j];
}
fprintf(g,"%d %d %d\n",min,isol,jsol);
fclose(f);
fclose(g);
return 0;
}