#include <fstream>
using namespace std;
int r[101][101],J[101][101],n,m,i,j,xr,yr,xj,yj,rez[100][100],x=0;;
void citire()
{
string x;
ifstream in("rj.in");
in>>n>>m;
x=in.get();
for (i=1;i<=n;++i)
{
getline(in,x);
for (j=1;j<=m;++j)
{
if (x[j-1]=='R')
{
r[i][j]=1;
xr=i;
yr=j;
J[i][j]=-2;
}
if (x[j-1]=='J')
{
r[i][j]=-2;
xj=i;
yj=j;
J[i][j]=1;
}
if (x[j-1]=='X')
r[i][j]=J[i][j]=-1;
if (x[j-1]==' ')
r[i][j]=J[i][j]=0;
}
}
in.close();
}
void bordare()
{
for (i=0;i<=n+1;++i)
r[i][0]=r[i][m+1]=J[i][0]=J[i][m+1]=-1;
for (i=0;i<=m+1;i++)
r[0][i]=r[n+1][i]=J[0][i]=J[n+1][i]=-1;
}
void leer()
{
int l,c,di[]={-1,-1,0,1,1,1,0,-1},dj[]={0,1,1,1,0,-1,-1,-1},inc=1,sf=1,k,coada[5000][3];
coada[inc][0]=xr;
coada[inc][1]=yr;
coada[inc][2]=1;
while (inc<=sf)
{
for (k=0;k<=7;++k)
{
l=coada[inc][0]+di[k];
c=coada[inc][1]+dj[k];
if (r[l][c]==0)
{
r[l][c]=coada[inc][2]+1;
++sf;
coada[sf][0]=l;
coada[sf][1]=c;
coada[sf][2]=r[l][c];
}
}
++inc;
}
}
void leej()
{
int l,c,di[]={-1,-1,0,1,1,1,0,-1},dj[]={0,1,1,1,0,-1,-1,-1},inc=1,sf=1,k,coada[5000][3];
coada[inc][0]=xj;
coada[inc][1]=yj;
coada[inc][2]=1;
while (inc<=sf)
{
for (k=0;k<=7;++k)
{
l=coada[inc][0]+di[k];
c=coada[inc][1]+dj[k];
if (J[l][c]==0)
{
J[l][c]=coada[inc][2]+1;
++sf;
coada[sf][0]=l;
coada[sf][1]=c;
coada[sf][2]=J[l][c];
}
}
++inc;
}
}
void cauta()
{
for (i=1;i<=n;++i)
for (j=1;j<=m;++j)
if (r[i][j]==J[i][j]&&r[i][j]!=-1&&r[i][j]!=0)
{
rez[++x][1]=r[i][j];
rez[x][2]=i;
rez[x][3]=j;
}
}
void sorteaza()
{
int z;
for (i=1;i<x;++i)
for (j=i+1;j<=x;++j)
if (rez[j][1]<rez[i][1])
{
z=rez[j][1];
rez[j][1]=rez[i][1];
rez[i][1]=z;
z=rez[j][2];
rez[j][2]=rez[i][2];
rez[i][2]=z;
z=rez[j][3];
rez[j][3]=rez[i][3];
rez[i][3]=z;
}
}
void sort2()
{
int z;
for (i=1;i<x;++i)
for (j=i+1;j<=x;++j)
if (rez[j][2]<rez[i][2])
{
z=rez[j][1];
rez[j][1]=rez[i][1];
rez[i][1]=z;
z=rez[j][2];
rez[j][2]=rez[i][2];
rez[i][2]=z;
z=rez[j][3];
rez[j][3]=rez[i][3];
rez[i][3]=z;
}
}
void sort3()
{
int z;
for (i=1;i<x;++i)
for (j=i+1;j<=x;++j)
if (rez[j][1]<rez[i][1])
{
z=rez[j][1];
rez[j][1]=rez[i][1];
rez[i][1]=z;
z=rez[j][2];
rez[j][2]=rez[i][2];
rez[i][2]=z;
z=rez[j][3];
rez[j][3]=rez[i][3];
rez[i][3]=z;
}
}
void afis()
{
ofstream out("rj.out");
out<<rez[1][1]<<'\n'<<rez[1][2]<<' '<<rez[1][3]<<'\n';
}
int main()
{
citire();
bordare();
leer();
leej();
/* ofstream out("rj.out");
for (i=1;i<=n;++i)
{
for (j=1;j<=m;++j)
out<<J[i][j]<<' ';
out<<'\n';
}
out.close();*/
cauta();
sorteaza();
if (rez[1][1]==rez[2][1])
sort2();
if (rez[1][2]==rez[2][2])
sort3();
afis();
return 0;
}