program romeosijulieta;
const dx:array[1..8] of shortint=(0,1, 0,-1,-1,1,-1, 1);
dy:array[1..8] of shortint=(1,0,-1, 0,-1,1, 1,-1);
type punct=record
x,y:shortint;
end;
var n,m:byte;
f:text;
o:array[1..101,1..101] of integer;
rr,jj,i:punct;
procedure citire;
var i,j:byte;
c:char;
begin
assign(f,'rj.in');reset(f);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(f,c);
case c of
'X':o[i,j]:=0;
'R':begin
rr.x:=i;
rr.y:=j;
o[i,j]:=1;
end;
'J':begin
jj.x:=i;
jj.y:=j;
o[i,j]:=-1;
end;
' ':o[i,j]:=n*m+1;
end;
end;
readln(f);
end;
close(f);
end;
procedure afisare;
begin
assign(f,'rj.out');rewrite(f);
writeln(f,abs(o[i.x,i.y]),' ',i.x,' ',i.y);
close(f);
end;
procedure lee;
var c:array[1..10201] of punct;
p,u:word;
x,y:shortint;
dir:shortint;
e:punct;
begin
c[1]:=rr;
c[2]:=jj;
p:=1; u:=2;
while p<=u do
begin
e:=c[p];
for dir:=1 to 8 do
begin
x:=e.x+dx[dir];
y:=e.y+dy[dir];
if (x>0)and(x<=n)and(y>0)and(y<=m)and(o[x,y]<>0) then
if abs(o[x,y])>abs(o[e.x,e.y])+1 then
begin
if o[e.x,e.y]>0 then o[x,y]:=o[e.x,e.y]+1
else o[x,y]:=o[e.x,e.y]-1;
inc(u);
c[u].x:=x;
c[u].y:=y;
end
else
if (abs(o[x,y])=abs(o[e.x,e.y])+1)and(o[e.x,e.y]*o[x,y]<0)then
begin
i.x:=x;
i.y:=y;
p:=u+1;
end;
end;
inc(p);
end;
end;
begin
citire;
lee;
afisare;
end.