#include<bits/stdc++.h>
using namespace std;
ifstream F("rj.in");
ofstream G("rj.out");
string v;
int a[101][101],b[101][101],w[]={0,-1,0,1,-1,1,1,-1},z[]={-1,0,1,0,1,1,-1,-1},n,m,k,l,o,q,i,j;
queue<pair<int,int> > c;
void W(int a[][101],int e,int f)
{
int i;
for(a[e][f]=1,c.push(make_pair(e,f));!c.empty();c.pop())
for(i=0;i<8;++i) {
e=c.front().first+w[i],f=c.front().second+z[i];
if(e&&e<=n&&f&&f<=m&&!a[e][f])
a[e][f]=a[c.front().first][c.front().second]+1,c.push(make_pair(e,f));
}
}
int main()
{
for(F>>n>>m,getline(F,v);i<n;++i)
for(getline(F,v),j=0;j<m;++j)
if(v[j]=='R')
o=i+1,q=j+1;
else if(v[j]=='J')
k=i+1,l=j+1;
else if(v[j]=='X')
a[i+1][j+1]=b[i+1][j+1]=-1;
for(W(a,o,q),W(b,k,l),k=1e5,i=1;i<n;++i)
for(j=1;j<m;++j)
if(a[i][j]==b[i][j]&&k>a[i][j]&&a[i][j]>0)
k=a[i][j],o=i,q=j;
return G<<k<<' '<<o<<' '<<q,0;
}