#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int r[102][102],ju[102][102],n,m,rx,ry,jx,jy,tmin=9000;
int dx[8]={-1,0,1,0,-1,1,1,-1};
int dy[8]={0,1,0,-1,1,1,-1,-1};
char c;
struct stiva{ int x,y; } coada[100*100+3],element;
void fill(int x, int y, int mat[102][102]) {
memset(coada,0,sizeof coada);
int p,u,xt,yt;
p=u=1;
coada[1].x=x;
coada[1].y=y;
while(p<=u) {
element=coada[p];
for(int i=0;i<8;i++) {
xt=element.x+dx[i];
yt=element.y+dy[i];
if(mat[xt][yt]==0) u++,coada[u].x=xt,coada[u].y=yt,mat[xt][yt]=mat[element.x][element.y]+1;
}
p++;
}
}
int main()
{
freopen("rj.in", "r", stdin);
freopen("rj.out", "w", stdout);
int i,j,xt,xy;
scanf("%d%d\n", &n, &m);
for(i=1;i<=n;i++) {
for(j=1;j<=m;j++) {
c=' ';
scanf("%c", &c);
if(c==' ') r[i][j]=0,ju[i][j]=0;
else if(c=='R') r[i][j]=1,rx=i,ry=j,ju[i][j]=0;
else if(c=='J') ju[i][j]=1,jx=i,jy=j,r[i][j]=0;
else r[i][j]=ju[i][j]=-1;
}
scanf("\n");
}
for(i=0;i<=n+1;i++) r[i][0]=ju[i][0]=r[i][m+1]=ju[i][m+1]=-1;
for(j=0;j<=m+1;j++) r[0][j]=ju[0][j]=r[n+1][j]=ju[n+1][j]=-1;
fill(rx,ry,r);
fill(jx,jy,ju);
for(i=1;i<=n;i++) for(j=1;j<=m;j++) {
if(r[i][j]==ju[i][j] && r[i][j]<tmin && r[i][j]>1) {
tmin=r[i][j];
xt=i;
xy=j;
}
}
cout<<tmin<<" "<<xt<<" "<<xy;
return 0;
}