#include<stdio.h>
FILE *f=fopen("rj.in","r");
FILE *g=fopen("rj.out","w");
typedef struct{int x,y;}PERECHE;
int a[102][102],v[102][102];
int main()
{
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;
if((a[xv-1][yv-1]==-2||a[xv-1][yv]==-2||a[xv-1][yv+1]==-2||a[xv][yv-1]==-2||a[xv][yv+1]==-2||a[xv+1][yv-1]==-2||a[xv+1][yv]==-2||a[xv+1][yv+1]==-2)&&a[xv][yv]<min)
{
min=a[xv][yv];
if(min%2==1)
b=min/2+2;
else
b=min/2+1;
}
}
}
}
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;
}
}
}
fprintf(g,"%d",b);
fprintf(g," ");
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(a[i][j]==b&&a[i][j]==v[i][j])
{
fprintf(g,"%d",i);
fprintf(g," ");
fprintf(g,"%d",j);
ok=1;
break;
}
}
if(ok==1)
break;
}
}