#include <cstdio>
FILE*f=fopen("rj.in","r");
FILE*g=fopen("rj.out","w");
short n,m,i,j,mn=9999;
short lx,cx,ly,cy,l,c,li,ci;
short x[102][102],y[102][102];
void citire()
{
char k[102];
fscanf(f,"%d%d",&n,&m);
fgets(k,2,f);
for(i=1;i<=n;i++)
{
fgets(k,m+2,f);
for(j=0;j<m;j++)
{
x[i][j+1]=y[i][j+1]=k[j];
if(x[i][j+1]=='R')
{lx=i;cx=j+1;}
else if(x[i][j+1]=='J')
{ly=i;cy=j+1;}
else if(x[i][j+1]==' ')
x[i][j+1]=y[i][j+1]=9999;
else if(x[i][j+1]=='X')
x[i][j+1]=y[i][j+1]=-1;
}
}
}
void bord()
{
for(i=0;i<=n+1;i++)
x[i][0]=x[i][m+1]=y[i][0]=y[i][m+1]=-1;
for(i=0;i<=m+1;i++)
x[0][i]=x[n+1][i]=y[0][i]=y[n+1][i]=-1;
}
void jale(short a[102][102],int l,int c,int val)
{
a[l][c]=val;
if(a[l+1][c]>=a[l][c]+1) jale(a,l+1,c,val+1);
if(a[l-1][c]>=a[l][c]+1) jale(a,l-1,c,val+1);
if(a[l][c+1]>=a[l][c]+1) jale(a,l,c+1,val+1);
if(a[l][c-1]>=a[l][c]+1) jale(a,l,c-1,val+1);
if(a[l+1][c+1]>=a[l][c]+1) jale(a,l+1,c+1,val+1);
if(a[l+1][c-1]>=a[l][c]+1) jale(a,l+1,c-1,val+1);
if(a[l-1][c+1]>=a[l][c]+1) jale(a,l-1,c+1,val+1);
if(a[l-1][c-1]>=a[l][c]+1) jale(a,l-1,c-1,val+1);
}
void mini()
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(x[i][j]>0 and x[i][j]==y[i][j] and x[i][j]<mn)
{
mn=x[i][j];
li=i;
ci=j;
fprintf(g,"%d %d %d\n",mn,li,ci);
}
}
}
void out(short x[102][102])
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
fprintf(g,"%4d ",x[i][j]);
fprintf(g,"\n");
}
fprintf(g,"\n");
}
int main()
{
citire();
jale(x,lx,cx,1);
jale(y,ly,cy,1);
mini();
return 0;
}