#include <fstream>
#include <cstring>
using namespace std;
ifstream f("rj.in");
ofstream g("rj.out");
int a[50000][101],bb[50000][101],b[50000][101],o,k,nr,okk,lc,cc,l,c,p,x[10000],y[10000],u,lenc,i,j,n,m,l1,l2,c1,c2;
char ccc;
short dx[9] = {0,-1,-1,-1,0,1,1,1,0};
short dy[9] = {0,-1,0,1,1,1,0,-1,-1};
int ok(int l,int c)
{
if (l>0 && c>0 && l<=n && c<=m)return 1;
return 0;
}
int main()
{
f>>n>>m;
f.get();
for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
{
f>>noskipws>>ccc;
if (ccc=='R')
l1=i,c1=j;
if (ccc=='J')
l2=i,c2=j;
if (ccc=='X')
a[i][j]=1;
}
while (ccc!='\n')
f>>ccc;
}
p=1;
u=1;
y[1]=l1;
x[1]=c1;
b[l1][c1]=1;
while (p<=u)
{ lc=y[p];
cc=x[p];
p++;
for (i=1;i<=8;i++)
{
l=lc+dy[i];
c=cc+dx[i];
if (ok(l,c) && a[l][c]==0 && b[l][c]==0)
{
b[l][c]=b[lc][cc]+1;
u++;
y[u]=l;
x[u]=c;
}
}
}
p=1;
u=1;
y[1]=l2;
x[1]=c2;
bb[l2][c2]=1;
while (p<=u)
{ lc=y[p];
cc=x[p];
p++;
for (i=1;i<=8;i++)
{
l=lc+dy[i];
c=cc+dx[i];
if (ok(l,c) && !a[l][c] && !bb[l][c])
{
bb[l][c]=bb[lc][cc]+1;
u++;
y[u]=l;
x[u]=c;
}
}
}
b[l2][c2]--;
if ((b[l2][c2])%2==0)
g<<(b[l2][c2])/2+1<<" ",
o=(b[l2][c2])/2+1;
else
g<<b[l2][c2]/2+2<<" ",
o=b[l2][c2]/2+2;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (b[i][j]==o && bb[i][j]==o)
{
g<<i<<" "<<j;
i=n+1;
j=m+1;
}
f.close();
g.close();
}