#include<stdio.h>
#include<values.h>
#include<iostream.h>
int a[10][10], b[10][10], cx1[100], cy1[100], cx2[100], cy2[100];
void lee(int a[10][10], int jx, int jy, int cx1[100], int cy1[100])
{int p, u, x, y, xnou, ynou, i, dx[]={0, -1, -1, 0, 1, 1, 1, 0, -1}, dy[]={0, 0, 1, 1, 1, 0, -1, -1, -1};
p=u=1;
a[jx][jy]=1;
cx1[u]=jx;
cy1[u]=jy;
while (p<=u) {x=cx1[p];
y=cy1[p];
for (i=1;i<=8;i++) {xnou=x+dx[i];
ynou=y+dy[i];
if (a[xnou][ynou]==0) {a[xnou][ynou]=a[x][y]+1;
cx1[++u]=xnou;
cy1[u]=ynou;
}
}
p++;
}
}
int main()
{int m, n, i, j, jx, jy, rx, ry, min=MAXINT, z, t;
char c;
FILE *f=fopen("rj.in","r");
FILE *g=fopen("rj.out","w");
fscanf (f,"%d %d", &m, &n);
fscanf(f,"%c",&c);
for (i=1;i<=m;i++) {for (j=1;j<=n;j++) {fscanf (f,"%c",&c);
if (c=='X') a[i][j]=b[i][j]=-1;
else if (c==' ') a[i][j]=b[i][j]=0;
else if (c=='R') {b[i][j]=1;
rx=i;
ry=j;
}
else if (c=='J') {a[i][j]=1;
jx=i;
jy=j;
}
}
fscanf (f,"%c",&c);
}
lee(a,jx,jy,cx1,cy1);
for (i=1;i<=m;i++) for (j=1;j<=n;j++) if (b[i][j]>1) b[i][j]=0;
lee(b,rx,ry,cx2,cy2);
for (i=1;i<=m;i++) for (j=1;j<=n;j++) if (a[i][j]!=-1&&a[i][j]==b[i][j]&&a[i][j]<min) {min=a[i][j];
z=i;
t=j;
}
fprintf(g,"%d %d %d\n", min, z, t);
fclose(f);
fclose(g);
return 0;
}