const dx:array[1..8] of integer=(0,1,1,1,0,-1,-1,-1);
dy:array[1..8] of integer=(1,1,0,-1,-1,-1,0,1);
var a:array[1..101,1..101] of char;
b:array[1..101,1..101] of integer;
r:array[1..10002,1..2] of integer;
j:array[1..10002,1..2] of integer;
f,g:text;
n,m,i,k,dr,str,stj,xx,yy,p,q:integer;
begin
assign(f,'rj.in');reset(f);
assign(g,'rj.out');rewrite(g);
readln(f,n,m);i:=0;
while not eof(f) do begin
inc(i);k:=0;
while not eoln(f) do begin
inc(k);
read(f,a[i,k]);
if a[i,k]='X' then b[i,k]:=-1 else
if a[i,k]='R' then begin r[1,1]:=i;r[1,2]:=k;b[i,k]:=1;end
else if a[i,k]='J' then begin j[1,1]:=i;j[1,2]:=k;b[i,k]:=1; end;
end;
readln(f);
end;
stj:=1;dr:=1;str:=1;
while (dr<=stj) and (dr<=str) do begin
xx:=r[dr,1];yy:=r[dr,2];
for i:=1 to 8 do
if (xx+dx[i]<=n) and (xx+dx[i]>=1) and (yy+dy[i]<=m)
and (yy+dy[i]>=1) then
if b[xx+dx[i],yy+dy[i]]=0 then begin
b[xx+dx[i],yy+dy[i]]:=b[xx,yy]+1;
inc(str);
r[str,1]:=xx+dx[i];r[str,2]:=yy+dy[i];
a[xx+dx[i],yy+dy[i]]:='R';
end else if (b[xx+dx[i],yy+dy[i]]=b[xx,yy]+1)
and (a[xx+dx[i],yy+dy[i]]='J') then begin
p:=xx+dx[i];
q:=yy+dy[i];
break
end;
xx:=j[dr,1];yy:=j[dr,2];
for i:=1 to 8 do
if (xx+dx[i]<=n) and (xx+dx[i]>=1) and (yy+dy[i]<=m)
and (yy+dy[i]>=1) then
if b[xx+dx[i],yy+dy[i]]=0 then begin
b[xx+dx[i],yy+dy[i]]:=b[xx,yy]+1;
inc(stj);
j[stj,1]:=xx+dx[i];j[stj,2]:=yy+dy[i];
a[xx+dx[i],yy+dy[i]]:='J';
end else if (b[xx+dx[i],yy+dy[i]]=b[xx,yy]+1)
and (a[xx+dx[i],yy+dy[i]]='R') then begin
p:=xx+dx[i];
q:=yy+dy[i];
break
end;
inc(dr);
end;
writeln(g,b[p,q],' ',p,' ',q);
close(g);
end.