#include <cstdio>
using namespace std;
struct Pozitie
{
int x,y;
};
Pozitie q[175*175+5];
int v1[105][105],v2[105][105];
int d1[8]={-1,-1,0,1,1,1,0,-1};
int d2[8]={0,1,1,1,0,-1,-1,-1};
char a[105];
void lee(int x,int y,int v[105][105],int n,int m)
{
q[1].x=x;
q[1].y=y;
int p=1,u=2,i;
while(p<u)
{
for(i=0;i<8;++i){
if(v[q[p].x+d1[i]][q[p].y+d2[i]]==0)
if(q[p].y+d2[i]>=0&&q[p].y+d2[i]<m&&q[p].x+d1[i]>=0&&q[p].x+d1[i]<n){
v[q[p].x+d1[i]][q[p].y+d2[i]]=v[q[p].x][q[p].y]+1;
//printf("%d %d %d %d %d %d %d\n",v[q[p].x+d1[i]][q[p].y+d2[i]],q[p].x+d1[i],q[p].y+d2[i],v[q[p].x][q[p].y],q[p].x,q[p].y,v[q[p].x][q[p].y]+1);
q[u].x=q[p].x+d1[i];q[u].y=q[p].y+d2[i];
++u;
}
}
++p;
}
}
int main()
{
int n,m,x,y,x1,x2,y1,y2,j,i;
char c;
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d%d\n",&n,&m);
for(i=0;i<n;++i){
j=0;
scanf("%c",&a[j]);
while(a[j]!='\n')
{
++j;
scanf("%c",&a[j]);
}
for(j=0;j<m;++j)
{
if(a[j]=='X')
{
v1[i][j]=v2[i][j]=-1;
}
if(a[j]=='R')
{
x1=i;y1=j;
v1[i][j]=1;
}
if(a[j]=='J')
{
x2=i;y2=j;
v2[i][j]=1;
}
}
}
lee(x1,y1,v1,n,m);
lee(x2,y2,v2,n,m);
int min=1000000,pi=-1,pj=-1;
for(i=0;i<n;++i)
for(j=0;j<m;++j)
if(v1[i][j]==v2[i][j]&&v1[i][j]<min&&v1[i][j]>0)
{
min=v1[i][j];pi=i;pj=j;
}
printf("%d %d %d",min,pi+1,pj+1);
return 0;
}