#include<iostream>
#include<stdio.h>
FILE *f=fopen("rj.in","r"),*g=fopen("rj.out","w");
int n,m,rx,ry,jx,jy;
unsigned int r[102][102],ju[102][102];
char a[102][102];
void bordare(int n,int m)
{
n++;m++;
for(int i=0;i<=n;i++)
a[i][0]=a[i][m]='X';
for(int j=0;j<=m;j++)
a[0][j]=a[n][j]='X';
}
void read()
{
fscanf(f,"%d %d\n",&n,&m);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
fscanf(f,"%c",&a[i][j]);
if(a[i][j]=='R')
{
rx=i;
ry=j;
a[i][j]=' ';
}
if(a[i][j]=='J')
{
jx=i;
jy=j;
a[i][j]=' ';
}
}
fscanf(f,"\n");
}
}
void lee(int x,int y,unsigned int l[102][102])
{
int cx[10001],cy[10001],in,sf,dx[]={1,1,1,-1,-1,-1,0,0,},dy[]={1,-1,0,1,-1,0,1,-1};
in=sf=1;
l[x][y]=1;
cx[1]=x;
cy[1]=y;
while(in<=sf)
{
for(int k=0;k<8;k++)
{
x=cx[in]+dx[k];
y=cy[in]+dy[k];
if(a[x][y]==' '&&!l[x][y])
{
l[x][y]=l[cx[in]][cy[in]]+1;
sf++;
cx[sf]=x;
cy[sf]=y;
}
}
in++;
}
}
int main()
{
read();
bordare(n,m);
lee(rx,ry,r);
lee(jx,jy,ju);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(r[i][j]==ju[i][j]&&r[i][j])
{
fprintf(g,"%d %d %d\n",r[i][j],i,j);
return 0;
}
return 0;
}