#include<string.h>
#include<fstream.h>
int dl[8]={-1,-1,0,1,1,1,0,-1};
int dc[8]={0,1,1,1,0,-1,-1,-1};
char c[150][150];
long n,m,a[150][150],x[50010],y[50010],d[50010],li,co,lj,cj,lr,cr,b[150][150];
void cit()
{ifstream fin("rj.in");
fin>>n>>m;
long i,j;
fin.get();
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
fin.get(c[i][j]);
fin.get();
}
fin.close();
}
ofstream fout("rj.out");
void lee1(long lr,long cr)
{long dd,d1,p,u,i,j,l,c1,k,h,q;
p=u=1;
x[p]=lr;
y[p]=cr;
d[p]=1;
a[lr][cr]=1;
do
{l=x[p];
c1=y[p];
d1=d[p];
for(k=0;k<=7;k++)
{i=l+dl[k];
j=c1+dc[k];
dd=d1+1;
if(i<=n&&i>=1&&j<=m&&j>=1&&c[i][j]==' '&&a[i][j]==0)
{u++;
x[u]=i;
y[u]=j;
d[u]=dd;
a[i][j]=dd;
}
}
p++;
}
while(p<=u);
}
void lee2(long lr,long cr)
{long dd,d1,p,u,i,j,l,c1,k,h,q;
p=u=1;
x[p]=lr;
y[p]=cr;
d[p]=1;
b[lr][cr]=1;
do
{l=x[p];
c1=y[p];
d1=d[p];
for(k=0;k<=7;k++)
{i=l+dl[k];
j=c1+dc[k];
dd=d1+1;
if(i<=n&&i>=1&&j<=m&&j>=1&&c[i][j]==' '&&b[i][j]==0)
{u++;
x[u]=i;
y[u]=j;
d[u]=dd;
b[i][j]=dd;
}
}
p++;
}
while(p<=u);
}
void afis()
{long i,j;
fout<<a[li][co]<<" "<<li<<" "<<co<<" "<<'\n';
}
int main()
{cit();
long i,j,min=25000;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(c[i][j]=='R')
{lr=i;
cr=j;
}
else
if(c[i][j]=='J')
{cj=j;
lj=i;
}
lee1(lr,cr);
lee2(lj,cj);
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(b[i][j]==a[i][j]&&a[i][j]>1&&a[i][j]<min)
{min=a[i][j];
li=i;
co=j;
}
}
afis();
fout.close();
return 0;
}