#include<fstream>
using namespace std;
int n, m, i, j, r1, r2, j11, j2, c1[2][10003], r[103][103], ju[103][103], ic, iv, jc, jv, p1, p2, minim, p, u, d;
char c, a[103][103];
int di[]={1, -1, 0, 0, 1, -1, 1, -1};
int dj[]={0, 0, 1, -1, -1, 1, 1, -1};
FILE *fin= fopen("rj.in","r");
ofstream fout ("rj.out");
int main(){
minim=9999;
fscanf(fin,"%d%d%c", &n, &m,&c);
for(i=1; i<=n; i++){
for(j=1; j<=m; j++) {
fscanf(fin,"%c", &a[i][j]);
if(a[i][j]=='R'){
r1=i;
r2=j;
}
else{
if(a[i][j]=='J'){
j11=i;
j2=j;
}
}
}
c = 1;
//do {
fscanf(fin,"%c", &c);
//} while (c!='\n');
}
r[r1][r2]=1;
c1[0][1]=r1;
c1[1][1]=r2;
p=1; u=1;
while(p<=u){
ic=c1[0][p];
jc=c1[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 && a[iv][jv]!='X' && r[iv][jv]==0){
u++;
c1[0][u]=iv;
c1[1][u]=jv;
r[iv][jv]=r[ic][jc]+1;
}
}
p++;
}
ju[j11][j2]=1;
c1[0][1]=j11;
c1[1][1]=j2;
p=1; u=1;
while(p<=u){
ic=c1[0][p];
jc=c1[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 && a[iv][jv]!='X' && ju[iv][jv]==0){
u++;
c1[0][u]=iv;
c1[1][u]=jv;
ju[iv][jv]=ju[ic][jc]+1;
}
}
p++;
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
if(r[i][j]==ju[i][j] && r[i][j]!=0){
if(r[i][j]<minim){
minim=r[i][j];
p1=i;
p2=j;
}
}
}
}
fout<<minim<<" "<<p1<<" "<<p2<<"\n";
return 0;
}