#include<cstdio>
using namespace std;
struct aa{int l,c;};
aa coada[10002],coada2[10002];
int r[102][102],ju[102][102],dx[]={0,0,-1,-1,-1,1,1,1},dy[]={1,-1,0,1,-1,0,1,-1};
int main ()
{
int n,m,i,j,lin,col;
char x;
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d%c",&n,&m,&x);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&x);
if(x=='R')r[i][j]=1,coada[1].l=i,coada[1].c=j;
if(x=='J')ju[i][j]=1,lin=i,col=j;
if(x!='X'&&x!='R'&&x!='J')r[i][j]=-1,ju[i][j]=-1;
}
scanf("%c",&x);
}
int u=1,p=1,l,c;
while(p<=u)
{
l=coada[p].l;
c=coada[p].c;
p++;
for(i=0;i<=7;i++)
if(r[l+dx[i]][c+dy[i]]==-1)
{
u++;
coada[u].l=l+dx[i];
coada[u].c=c+dy[i];
r[coada[u].l][coada[u].c]=r[l][c]+1;
}
}
p=1;u=1;
coada[1].l=lin;
coada[1].c=col;
while(p<=u)
{
l=coada[p].l;
c=coada[p].c;
p++;
for(i=0;i<=7;i++)
if(ju[l+dx[i]][c+dy[i]]==-1)
{
u++;
coada[u].l=l+dx[i];
coada[u].c=c+dy[i];
ju[coada[u].l][coada[u].c]=ju[l][c]+1;
}
}
int min=2000000000;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(r[i][j]==ju[i][j]&&r[i][j]<min&&r[i][j]>0)min=r[i][j],lin=i,col=j;
printf("%d %d %d",min,lin,col);
return 0;
}