#include <iostream>
#include <cstdio>
using namespace std;
struct chestii
{
int i,j,nr3;
};
chestii v[22504];
int r[103][103],ji[103][103],a[103][103],n,m,min1,i3;
void verif(int i,int j,int nr)
{
if(a[i][j]!=-1 && i<=n && i>=1 && j<=m && j>=1)
{
if(r[i][j]==0)
{
i3++;
v[i3].i=i;
v[i3].j=j;
v[i3].nr3=nr+1;
r[i][j]=nr+1;
}
else
{
if(r[i][j]>nr+1)
{
i3++;
v[i3].i=i;
v[i3].j=j;
v[i3].nr3=nr+1;
r[i][j]=nr+1;
}
}
}
}
void verif1(int i,int j,int nr)
{
if(a[i][j]!=-1 && i<=n && i>=1 && j<=m && j>=1 )
{
if(ji[i][j]==0)
{
i3++;
v[i3].i=i;
v[i3].j=j;
v[i3].nr3=nr+1;
ji[i][j]=nr+1;
}
else
{
if(ji[i][j]>nr+1)
{
i3++;
v[i3].i=i;
v[i3].j=j;
v[i3].nr3=nr+1;
ji[i][j]=nr+1;
}
}
}
}
int i,j,i1,j1,i2,j2,pri,prj,pji,pjj,tmp;
char ch[104];
int main()
{
freopen("rj.in","r",stdin);
freopen("rj.out","w",stdout);
scanf("%d %d",&n,&m);
cin.get();
for(i=1;i<=n;i++)
{
cin.getline(ch,sizeof(ch));
for(j=0;j<=m-1;j++)
{
if(ch[j]=='X')
a[i][j+1]=-1;
if(ch[j]=='R')
{
pri=i;
prj=j+1;
a[i][j+1]=-1;
}
if(ch[j]=='J')
{
pji=i;
pjj=j+1;
a[i][j+1]=-1;
}
}
}
tmp=0;
v[1].i=pri;
v[1].j=prj;
i1=1;
i3=1;
while(v[i1].i!=0)
{
tmp++;
verif(v[i1].i+1,v[i1].j,v[i1].nr3);
verif(v[i1].i,v[i1].j+1,v[i1].nr3);
verif(v[i1].i+1,v[i1].j+1,v[i1].nr3);
verif(v[i1].i-1,v[i1].j,v[i1].nr3);
verif(v[i1].i,v[i1].j-1,v[i1].nr3);
verif(v[i1].i-1,v[i1].j+1,v[i1].nr3);
verif(v[i1].i+1,v[i1].j-1,v[i1].nr3);
verif(v[i1].i-1,v[i1].j-1,v[i1].nr3);
i1++;
}
tmp=0;
for(i=0;i<=22500;i++)
{
v[i].i=0;
v[i].j=0;
v[i].nr3=0;
}
v[1].i=pji;
v[1].j=pjj;
i1=1;
i3=1;
while(v[i1].i!=0)
{
verif1(v[i1].i+1,v[i1].j,v[i1].nr3);
verif1(v[i1].i,v[i1].j+1,v[i1].nr3);
verif1(v[i1].i+1,v[i1].j+1,v[i1].nr3);
verif1(v[i1].i-1,v[i1].j,v[i1].nr3);
verif1(v[i1].i,v[i1].j-1,v[i1].nr3);
verif1(v[i1].i-1,v[i1].j+1,v[i1].nr3);
verif1(v[i1].i+1,v[i1].j-1,v[i1].nr3);
verif1(v[i1].i-1,v[i1].j-1,v[i1].nr3);
i1++;
}
min1=22500;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(r[i][j]==ji[i][j] && r[i][j]!=0)
if(min1>r[i][j])
{
min1=r[i][j];
i2=i;
j2=j;
}
printf("%d %d %d",min1+1,i2,j2);
return 0;
}