type romeo=record
x,y:longint;
end;
const dl:array[1..8]of integer=(-1,-1,-1,0,0,1,1,1);
dc:array[1..8]of integer=(-1,0,1,-1,1,-1,0,1);
var ch:char;
n,m,i,j,r1,r2,j1,j2,p,u,d,lnou,cnou,min1,min2:integer;
v,x:array[0..100,0..100]of integer;
c:array[1..10000]of romeo;
begin
assign(input,'rj.in');reset(input);
assign(output,'rj.out');rewrite(output);
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(ch);
case ch of
'X':v[i,j]:=32000;
'R':begin r1:=i;r2:=j;end;
'J':begin j1:=i;j2:=j;end;
end;
end;
readln;
end;
x:=v;
p:=1;
u:=1;
c[1].x:=r1;
c[1].y:=r2;
v[r1,r2]:=1;
while p<=u do
begin
for d:=1 to 8 do
begin
lnou:=c[p].x+dl[d];
cnou:=c[p].y+dc[d];
if (lnou>0)and(cnou>0)and(lnou<=n)and(cnou<=m)and(v[lnou,cnou]=0) then
begin
v[lnou,cnou]:=v[c[p].x,c[p].y]+1;
inc(u);
c[u].x:=lnou;
c[u].y:=cnou;
end;
end;
inc(p);
end;
p:=1;
u:=1;
c[1].x:=j1;
c[1].y:=j2;
x[j1,j2]:=1;
while p<=u do
begin
for d:=1 to 8 do
begin
lnou:=c[p].x+dl[d];
cnou:=c[p].y+dc[d];
if (lnou>0)and(cnou>0)and(lnou<=n)and(cnou<=m)and(x[lnou,cnou]=0) then
begin
x[lnou,cnou]:=x[c[p].x,c[p].y]+1;
inc(u);
c[u].x:=lnou;
c[u].y:=cnou;
end;
end;
inc(p);
end;
min1:=0;min2:=0;
v[0,0]:=32000;
for i:=1 to n do
for j:=1 to m do
if (v[i,j]=x[i,j])and(v[i,j]<v[min1,min2])and(v[i,j]<>0) then
begin
min1:=i;
min2:=j;
end;
writeln(v[min1,min2],' ',min1,' ',min2);
close(input);close(output);
end.