#include<fstream>
#include<cstring>
using namespace std;
ifstream f("rj.in");
ofstream g("rj.out");
int n, m, xr, yr, xj, yj, hr[102][102], hj[102][102];
char h[102][102];
short dx[8] = {1, -1, 1, 0, -1, 1, 0, -1};
short dy[8] = {0, 0, 1, 1, 1, -1, -1, -1};
void lee (int x0, int y0, int d[102][102])
{
int i,cost,pi,pf,x,y,Cl[10002],Cc[10002];
bool viz[102][102];
pi=pf=0;
d[x0][y0]=1;
viz[x0][y0]=1;
Cl[pf]=x0;
Cc[pf]=y0;
pf++;
while(pi<pf)
{
for(i=0;i<8;i++)
{
x=Cl[pi]+dx[i];
y=Cc[pi]+dy[i];
cost=d[x-dx[i]][y-dy[i]]+1;
if(x>=0&&x<n&&y>=0&&y<m&&d[x][y]==0&&h[x][y]==' ')
{
Cl[pf]=x;
Cc[pf]=y;
pf++;
viz[x][y]=1;
d[x][y]=cost;
}
}
pi++;
}
}
int main ()
{
int i,j,lenc;
char c[1001];
f>>n>>m;
f.get();
for(i=0;i<n;i++)
for(j=0;j<m;j++)
h[i][j]=' ';
for(i=0;i<n;i++)
{
f.getline(c,1000);
lenc=strlen(c);
for(j=0;j<lenc;j++)
{
h[i][j]=c[j];
if(h[i][j]=='R')
xr=i,yr=j,h[i][j]=' ';
else if(h[i][j]=='J')
xj=i,yj=j,h[i][j]=' ';
}
}
lee(xj, yj, hj);
lee(xr, yr, hr);
int costmin=10002,xmin,ymin;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(hr[i][j]==hj[i][j]&&hr[i][j]<costmin&&hr[i][j]>0)
{
costmin=hr[i][j];
xmin=i;
ymin=j;
}
g<<costmin<<" "<<xmin+1<<" "<<ymin+1;
return 0;
}