#include<stdio.h>
typedef struct{int x,y;}PERECHE;
int a[102][102],v[102][102];
int main()
{
FILE *f=fopen("rj.in","r");
FILE *g=fopen("rj.out","w");
int u1=0,p1=1,ok,dx[]={-1,-1,-1,0,0,1,1,1},dy[]={-1,0,1,-1,1,-1,0,1},n,m,min=2100000000,x,xv,yv,i,j,p=1,u=0,y,b;
char s;
PERECHE c[100001],d[100001];
fscanf(f,"%d",&n);fscanf(f,"%d",&m);
for(i=1;i<=n;i++)
{
fscanf(f,"%c",&s);
for(j=1;j<=m;j++)
{
fscanf(f,"%c",&s);
if(s=='R')
{
a[i][j]=1;
v[i][j]=-1;
c[++u].x=i;c[u].y=j;
}
if(s=='J')
{
a[i][j]=-2;
v[i][j]=1;
d[++u1].x=i;d[u1].y=j;
}
if(s==' ')
a[i][j]=v[i][j]=0;
if(s=='X')
a[i][j]=v[i][j]=-1;
}
}
while(p<=u)
{
x=c[p].x;y=c[p++].y;
for(i=0;i<=7;i++)
{
xv=x+dx[i];
yv=y+dy[i];
if(a[xv][yv]==0&&xv!=0&&xv!=n+1&&yv!=0&&yv!=m+1)
{
a[xv][yv]=a[x][y]+1;
c[++u].x=xv;c[u].y=yv;
}
}
}
a[d[u].x][d[u].y]=1;
while(p1<=u1)
{
x=d[p1].x;y=d[p1++].y;
for(i=0;i<=7;i++)
{
xv=x+dx[i];
yv=y+dy[i];
if(v[xv][yv]==0&&xv!=0&&xv!=n+1&&yv!=0&&yv!=m+1)
{
v[xv][yv]=v[x][y]+1;
d[++u1].x=xv;d[u1].y=yv;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(a[i][j]>1&&a[i][j]==v[i][j])
{
fprintf(g,"%d",a[i][j]);
fprintf(g," ");
fprintf(g,"%d",i);
fprintf(g," ");
fprintf(g,"%d",j);
ok=1;
break;
}
}
if(ok==1)
break;
}
}