#include <fstream>
using namespace std;
int r[101][101],J[101][101],n,m,i,j,xr,yr,xj,yj,rez[4];
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()
{
int dmin=9999;
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&&r[i][j]!=-2)
{
if (dmin>r[i][j])
{
rez[1]=r[i][j];
rez[2]=i;
rez[3]=j;
dmin=r[i][j];
}
}
}
void afis()
{
ofstream out("rj.out");
/*for (i=1;i<=n;++i)
{
for (j=1;j<=m;++j)
out<<r[i][j]<<' ';
out<<'\n';
}
out<<'\n'<<'\n'<<'\n'<<'\n';
for (i=1;i<=n;++i)
{
for (j=1;j<=m;++j)
out<<J[i][j]<<' ';
out<<'\n';
}
out<<'\n'<<'\n'<<'\n'<<'\n';*/
out<<rez[1]<<' '<<rez[2]<<' '<<rez[3]<<'\n';
}
int main()
{
citire();
bordare();
leer();
leej();
cauta();
afis();
return 0;
}