const irany
:array[1..2,1..8] of integer=((1,-1,0,0,-1,1,1,-1),(0,0,1,-1,1,-1,1,-1));
var rom,jul:array[0..102,0..102] of integer;
i,j,n,m,x,y,l,k:integer;
t:boolean;
c:char;
f,g:text;
procedure kesz(k,l:integer);
begin
t:=true;
x:=k;
y:=l;
end;
begin
assign(f,'rj.in'); reset(f);
assign(g,'rj.out'); rewrite(g);
readln(f,n,m);
for i:=0 to n+1 do
begin
rom[i,0]:=-1;
rom[i,m+1]:=-1;
jul[i,0]:=-1;
jul[i,m+1]:=-1;
end;
for i:=0 to m+1 do
begin
rom[0,i]:=-1;
rom[n+1,i]:=-1;
jul[0,i]:=-1;
jul[n+1,i]:=-1;
end;
for i:=1 to n do
begin
for j:=1 to m+2 do
begin
read(f,c);
case c of
'X':begin
rom[i,j]:=-1;
jul[i,j]:=-1;
end;
'R':begin
rom[i,j]:=1;
end;
'J':begin
jul[i,j]:=1;
end;
' ':begin
rom[i,j]:=0;
jul[i,j]:=0;
end;
end;
end;
end;
k:=1;
t:=false;
repeat
for i:=1 to n do
for j:=1 to m do
begin
if rom[i,j]=k then
for l:=1 to 8 do
if rom[i+irany[1,l],j+irany[2,l]]=0 then
begin
rom[i+irany[1,l],j+irany[2,l]]:=k+1;
if k+1=jul[i+irany[1,l],j+irany[2,l]] then kesz(i+irany[1,l],j+irany[2,l]);
end;
if jul[i,j]=k then
for l:=1 to 8 do
if jul[i+irany[1,l],j+irany[2,l]]=0 then
begin
jul[i+irany[1,l],j+irany[2,l]]:=k+1;
if k+1=rom[i+irany[1,l],j+irany[2,l]] then kesz(i+irany[1,l],j+irany[2,l]);
end;
end;
inc(k);
until t;
writeln(g,rom[x,y],' ',x,' ',y);
close(g);
end.