#include<stdio.h>
using namespace std;
#define dim 105
#define dim2 10010
#include<stdlib.h>
int romeo[dim][dim],julieta[dim][dim],l[dim2],c[dim2],i,j,n,m,ii,jj,a,b,t,x1,x2,y1,y2,x,y,h;
char p;
short int dir1[9]={0,-1,-1,0,1,1,1,0,-1};
short int dir2[9]={0,0,1,1,1,0,-1,-1,-1};
int cautaj(int ii, int jj,int k)
{
j=jj;
for(i=ii;i<=j;i++)
{ a=l[i]; b=c[i];
for(h=1;h<=8;h++)
{ x=a+dir1[h]; y=b+dir2[h];
if(romeo[x][y]==-2)
{t=k/2+1; return 0;}
else if(romeo[x][y]==0&&x>0&&y>0&&x<=n&&y<=m)
{romeo[x][y]=k; l[++jj]=x; c[jj]=y;}
}
}
ii=i;
cautaj(ii,jj,k+1);
}
int cautar(int ii, int jj,int k)
{
j=jj;
for(i=ii;i<=j;i++)
{ a=l[i]; b=c[i];
for(h=1;h<=8;h++)
{ x=a+dir1[h]; y=b+dir2[h];
if(julieta[x][y]==-2)
{t=k/2+1; return 0;}
else if(julieta[x][y]==0&&x>0&&y>0&&x<=n&&y<=m)
{julieta[x][y]=k; l[++jj]=x; c[jj]=y;}
}
}
ii=j;
cautar(ii,jj,k+1);
}
int main()
{
FILE *f=fopen("rj.in","r"), *g=fopen("rj.out","w");
fscanf(f,"%d%d ",&n,&m);
//citire
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
{fscanf(f,"%c",&p);
if(p=='X')
romeo[i][j]=julieta[i][j]=-1;
if(p=='R')
{x1=i; y1=j; julieta[i][j]=-2; romeo[i][j]=-3;}
else if(p=='J')
{x2=i; y2=j; romeo[i][j]=-2; julieta[i][j]=-3;}
}
fscanf(f," ");
}
ii=1; jj=1;
l[1]=x1;
c[1]=y1;
cautaj(1,1,1);
ii=1; jj=1;
l[1]=x2;
c[1]=y2;
cautar(1,1,1);
fprintf(g,"%d ",t);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(romeo[i][j]==julieta[i][j]&&romeo[i][j]>0)
{fprintf(g,"%d %d\n",i,j);
fclose(f);
fclose(g);exit(0);}
return 0;}