Program Rj;
type punct=record
x,y:integer;
end;
var a:array [0..101,0..101] of integer;
b,c:array [1..10000] of punct;
i,j,k,n,m,k1,t:integer;
ch:char;
fi,fo:text;
procedure control(x,y:integer);
begin
if a[x-1,y]=-1 then begin
a[x-1,y]:=a[x,y]+1;
inc(k);
c[k].x:=x-1;
c[k].y:=y;
end;
if a[x+1,y]=-1 then begin
a[x+1,y]:=a[x,y]+1;
inc(k);
c[k].x:=x+1;
c[k].y:=y;
end;
if a[x,y-1]=-1 then begin
a[x,y-1]:=a[x,y]+1;
inc(k);
c[k].x:=x;
c[k].y:=y-1;
end;
if a[x,y+1]=-1 then begin
a[x,y+1]:=a[x,y]+1;
inc(k);
c[k].x:=x;
c[k].y:=y+1;
end;
if a[x+1,y+1]=-1 then begin
a[x+1,y+1]:=a[x,y]+1;
inc(k);
c[k].x:=x+1;
c[k].y:=y+1;
end;
if a[x-1,y+1]=-1 then begin
a[x-1,y+1]:=a[x,y]+1;
inc(k);
c[k].x:=x-1;
c[k].y:=y+1;
end;
if a[x+1,y-1]=-1 then begin
a[x+1,y-1]:=a[x,y]+1;
inc(k);
c[k].x:=x+1;
c[k].y:=y-1;
end;
if a[x-1,y-1]=-1 then begin
a[x-1,y-1]:=a[x,y]+1;
inc(k);
c[k].x:=x-1;
c[k].y:=y-1;
end;
end;
begin
assign(fi,'rj.in');
assign(fo,'rj.out');
reset(fi);
rewrite(fo);
readln(fi,n,m);
for i:=1 to n do begin
for j:=1 to m do begin
read(fi,ch);
if ch=' ' then a[i,j]:=-1;
if ch='X' then a[i,j]:=-2;
if ch='R' then begin b[1].x:=i; b[1].y:=j; end;
if ch='J' then begin b[2].x:=i; b[2].y:=j; end;
end;
readln(fi);
end;
k1:=2;
a[b[1].x,b[1].y]:=1;
a[b[2].x,b[2].y]:=1;
repeat
for i:=1 to k1 do control(b[i].x,b[i].y);
k1:=k;
k:=0;
for i:=1 to k1 do b[i]:=c[i];
inc(t);
until k1=0;
write(fo,t,' ');
for i:=1 to n do
for j:=1 to m do
if a[i,j]=t then begin write(fo,i,' ',j); close(fo); exit; end;
close(fo);
end.