#include <cstdio>
using namespace std;
char x[101][101];
int i,j,ir,jr,ij,jj,n,m,iv,jv,ic,jc,p,u,minim,imin,jmin,ok,d;
int di[]={-1,-1,-1, 0, 0, 1, 1, 1};
int dj[]={-1, 0, 1,-1, 1,-1, 0, 1};
int ro[101][101],ju[101][101], c[3][10001];
int main () {
freopen ("rj.in", "r", stdin);
freopen ("rj.out", "w" , stdout);
scanf ("%d%d", &n,&m);
scanf ("\n");
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
scanf("%c",&x[i][j]);
if (x[i][j] == 'R'){
ir = i;
jr = j;
}
if (x[i][j] == 'J'){
ij=i;
jj=j;
}
}
scanf("\n");
}
for (i=1;i<=n;i++) {
for (j=1;j<=m;j++) {
if (x[i][j]== 'R' ) {
ro[i][j]=1;
ju[i][j]=0;
}
if (x[i][j]== 'J' ) {
ro[i][j]=0;
ju[i][j]=1;
}
if (x[i][j]=='X')
ro[i][j]=ju[i][j]=-1;
}
}
p=u=1;
c[0][1]=ir;
c[1][1]=jr;
while (p<=u) {
ic=c[0][p];
jc=c[1][p];
for (d=0;d<=7;d++) {
iv=ic+di[d];
jv=jc+dj[d];
if (iv>=1&&iv<=n&&jv>=1&&jv<=m&&ro[iv][jv]==0) {
u++;
c[0][u]=iv;
c[1][u]=jv;
ro[iv][jv]=ro[ic][jc]+1;
}
}
p++;
}
p=u=1;
c[0][1]=ij;
c[1][1]=jj;
while (p<=u) {
ic=c[0][p];
jc=c[1][p];
for (d=0;d<=7;d++) {
iv=ic+di[d];
jv=jc+dj[d];
if (iv>=1&&iv<=n&&jv>=1&&jv<=m&&ju[iv][jv]==0) {
u++;
c[0][u]=iv;
c[1][u]=jv;
ju[iv][jv]=ju[ic][jc]+1;
}
}
p++;
}
minim = n*m +100;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (ro[i][j]==ju[i][j]&&ro[i][j]>0)
if (ro[i][j]<minim){
minim=ro[i][j];
imin=i;
jmin=j;
}
printf ("%d %d %d\n" , minim , imin ,jmin);
return 0;
}