#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("rj.in");
ofstream g ("rj.out");
char a[101][101];
int b[101][101],c[101][101],i,j,n,m,ct,xi,yi,xf,yf,pr,ur,pj,uj,cr[102][3],cj[102][3],ok,ir,jr,ij,jj,k;
int irnou,jrnou,ijnou,jjnou,br;
const int di[8]={-1,-1,-1,0,0,1,1,1};
const int dj[8]={-1,0,1,-1,1,-1,0,1};
void citire(){
f>>m>>n;
f.get();
for(i=1;i<=m;i++)
{
f.getline(a[i]+1,101);
for(j=1;j<=n;j++)
{
if(a[i][j]=='R')
{
xi=i;yi=j;
}
if(a[i][j]=='J')
{
xf=i;yf=j;
}
}
}
}
int verificarer(int i,int j)
{
if(i<1 || j<1 || i>m || j>n)
return 0;
if((int)a[i][j]!=32 || b[i][j]!=0)
return 0;
/*if(b[i][j]!=0)
if(b[i][j]==b[i][j]-1)
return 2;
else
return 0;*/
return 1;
}int verificarej(int i,int j)
{
if(i<1 || j<1 || i>m || j>n)
return 0;
if((int)a[i][j]!=32 || c[i][j]!=0)
return 0;
/*if(b[i][j]!=0)
if(b[i][j]==b[i][j]-1)
return 2;
else
return 0;*/
return 1;
}
/*void Lee(){
pr=ur=1;
pj=uj=1;
cr[pr][1]=xi;cj[pj][1]=xf;
cr[pr][2]=yi;cj[pj][2]=yf;
b[xi][yi]=1;b[xf][yf]=-1;
while(pr<=ur && pj<=uj && !ok)
{
ir=cr[pr][1];ij=cj[pj][1];
jr=cr[pr][2];jj=cj[pj][2];
for(k=0;k<8;k++)
{
irnou=ir+di[k];ijnou=ij+di[k];
jrnou=jr+di[k];jjnou=jj+di[k];
if(verificare(irnou,jrnou))
{
b[irnou][jrnou]=b[ir][jr]+1;
ur++;
cr[ur][1]=irnou;
cr[ur][2]=jrnou;
}
if(verificare(ijnou,jjnou))
if(verificare(ijnou,jjnou)==2)
{
ok=1;
g<<b[ir][jr]+1<<" "<<irnou<<" "<<jrnou;
}
else
{
b[ijnou][jjnou]=b[ij][jj]-1;
uj++;
cj[uj][1]=ijnou;
cj[uj][2]=jjnou;
}
/*if(irnou==ijnou && jrnou==jjnou && b[ir][jr]==-b[ij][jj])
{
ok=1;
g<<b[ir][jr]+1;
g<<" "<<irnou<<" "<<jrnou;
}*/
//}
//pr++;
// pj++;
// }
//}
void LeeRomeo(){
pr=ur=1;
cr[pr][1]=xi;
cr[pr][2]=yi;
b[xi][yi]=1;
ok=0;
while(pr<=ur && !ok)
{
ir=cr[pr][1];
jr=cr[pr][2];
for(k=0;k<8;k++)
{
irnou=ir+di[k];
jrnou=jr+dj[k];
if(verificarer(irnou,jrnou))
{
b[irnou][jrnou]=b[ir][jr]+1;
ur++;
cr[ur][1]=irnou;
cr[ur][2]=jrnou;
}
if(irnou==xf && jrnou==yf)
ok=1;
}
pr++;
}
}
void LeeJulieta(){
pj=uj=1;
cj[pj][1]=xf;
cj[pj][2]=yf;
c[xf][yf]=1;
ok=0;
while(pj<=uj && !ok)
{
ij=cj[pj][1];
jj=cj[pj][2];
for(k=0;k<8;k++)
{
ijnou=ij+di[k];
jjnou=jj+dj[k];
if(verificarej(ijnou,jjnou))
{
c[ijnou][jjnou]=c[ij][jj]+1;
uj++;
cj[uj][1]=ijnou;
cj[uj][2]=jjnou;
}
if(ijnou==xi && jjnou==yi)
ok=1;
}
pj++;
}
}
int main()
{
citire();
LeeRomeo();LeeJulieta();
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(b[i][j]==c[i][j] && b[i][j]!=0)
g<<b[i][j]<<" "<<i<<" "<<j;
/* for(i=1;i<=m;i++,cout<<endl)
for(j=1;j<=n;j++)
cout<<a[i][j];*/
return 0;
}