#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
const short int modLin[4]={-1, 0, 1, 0};
const short int modCol[4]={0, 1, 0, -1};
int rom[101][101];
int jul[101][101];
short int cox[1001];
short int coy[1001];
void lee(int mat[][101], int sx, int sy, int fx, int fy, int n, int m){
int k, kn;
k=kn=1;
cox[1]=sx;
coy[1]=sy;
mat[sx][sy]=1;
while(k<=kn && mat[fx][fy]==0){
for(int z=0; z<4; z++){
sx=cox[k]+modLin[z];
sy=coy[k]+modCol[z];
if(sx>=1 && sx<=n && sy>=1 && sy<=m && (mat[sx][sy]>mat[cox[k]][coy[k]]+1 || mat[sx][sy]==0)){
kn++;
cox[kn]=sx;
coy[kn]=sy;
mat[sx][sy]=mat[cox[k]][coy[k]]+1;
}
}
k++;
}
}
int main()
{
FILE *fin=fopen("rj.in", "r");
FILE *fout=fopen("rj.out", "w");
char s[201];
int n, m, rx, ry, jx, jy, tmin;
fscanf(fin, "%d%d\n", &n, &m);
for(int i=1; i<=n; ++i){
fgets(s, 150, fin);
if(s[strlen(s)-1]=='\n')
s[strlen(s)-1]='\0';
for(int j=0; j<strlen(s); j++){
if(s[j]=='X')
rom[i][j+1]=jul[i][j+1]=-1;
else{
if(s[j]=='R'){
rx=i;
ry=j+1;
}
else if(s[j]=='J'){
jx=i;
jy=j+1;
}
}
}
}
lee(rom, rx, ry, jx, jy, n, m);
lee(jul, jx, jy, rx, ry, n, m);
rx=ry=0;
tmin=10000000;
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
if(rom[i][j]==jul[i][j] && rom[i][j]>0 && rom[i][j]<tmin){
tmin=rom[i][j];
rx=i;
ry=j;
}
}
}
fprintf(fout, "%d %d %d", tmin, rx, ry);
return 0;
}