#include<stdio.h>
#define N 102
struct P {
int l,c;
}e[N*N],p;
int n,m,a,b,u,v,r[N][N],j[N][N],c[]={0,1,0,-1,-1,1,-1,1},d[]={1,0,-1,0,-1,1,1,-1},t,x,y,i,k,g[N][N];
char l[N][N],w;
void P(int x,int y,int g[][N])
{
int t=0,s=0,i,k;
for(i=0;i<=n+1;++i)
for(k=0;k<=m+1;++k)
g[i][k]=-1;
for(e[0].l=x,e[0].c=y,g[x][y]=1;t<=s;)
for(p=e[t++],i=0;i<8;++i)
if(l[p.l+c[i]][p.c+d[i]]==' '&&g[p.l+c[i]][p.c+d[i]]==-1)
g[p.l+c[i]][p.c+d[i]]=1+g[p.l][p.c],
e[++s].l=p.l+c[i],
e[s].c=p.c+d[i];
}
int main()
{
freopen("rj.in","r",stdin),freopen("rj.out","w",stdout),scanf("%d%d\n",&n,&m);
for(i=0;i<n+2;++i)
l[i][0]=l[i][m+1]='X';
for(i=0;i<m+2;++i)
l[0][i]=l[n+1][i]='X';
for(i=1;i<=n;++i) {
for(k=1;k<=m;++k) {
w=getchar(),l[i][k]=w;
if(l[i][k]=='R')
a=i,b=k,l[i][k]=' ';
if(l[i][k]=='J')
u=i,v=k,l[i][k]=' ';
}
w=getchar();
}
P(a,b,r),P(u,v,j),t=N*N+5,x=-1,y=-1;
for(i=1;i<=n;++i)
for(k=1;k<=m;++k)
if(r[i][k]==j[i][k])
if(r[i][k]<t&&r[i][k]!=-1)
t=r[i][k],x=i,y=k;
printf("%d %d %d",t,x,y);
return 0;
}