#include <iostream>
#include <cstdio>
#include <cstring>
FILE *fin=fopen("rj.in", "r"), *fout=fopen("rj.out", "w");
using namespace std;
char ch[102];
int sw, n, m, a[36000][101], i, j, linR, colR, linJ, colJ;
int in, sf, dl[8]={-1, -1, 0, 1, 1, 1, 0, -1}, dc[8]={0, 1, 1, 1, 0, -1, -1, -1};
int k;
struct deplas{
int l, c;
int d;
}c[36000], x, y;
int main()
{
fscanf(fin, "%d%d", &n, &m);
fscanf(fin, "%c", &ch);
for(i=1;i<=n;i++)
{
fgets(ch,101, fin);
for(j=0;j<=m-1;j++)
{
if(ch[j]=='R')
a[i][j+1]=1, x.l=linR=i, x.c=colR=j+1;
else if(ch[j]=='J')
a[i][j+1]=1, linJ=i, colJ=j+1;
else if(ch[j]=='X')
a[i][j+1]=-2;
else if(ch[j]==' ')
a[i][j+1]=0;
}
}
c[1].l=linR;
c[1].c=colR;
c[2].l=linJ;
c[2].c=colJ;
c[2].d=1;
c[1].d=1;
in=1;
sf=2;
while(in<=sf)
{
x=c[in++];
for(i=0;i<=7;i++)
{
y.l=x.l+dl[i];
y.c=x.c+dc[i];
if(y.l>=1&&y.l<=n&&y.c>=1&&y.c<=m)
if(a[y.l][y.c]==0)
{
y.d=x.d+1;
c[++sf]=y;
a[y.l][y.c]=y.d;
}
}
}
fprintf(fout, "%d %d %d", y.d, x.l, x.c);
return 0;
}