#include<bits/stdc++.h>
using namespace std;
ifstream F("rj.in");
ofstream G("rj.out");
int n,m,i,w[100][100],z[100][100],x[]={-1,-1,-1,0,0,1,1,1},y[]={-1,0,1,-1,1,-1,0,1},j,b,c,d,e;
string a[100];
void A(int i,int j,int w[][100])
{
queue<int> q;
int l,k;
for(w[i][j]=1,q.push(i*m+j);!q.empty();q.pop())
for(l=q.front(),i=l/m,j=l%m,k=0;k<8;++k)
if(i+x[k]>=0&&i+x[k]<n&&j+y[k]>=0&&j+y[k]<m&&a[i+x[k]][j+y[k]]!='X'&&!w[i+x[k]][j+y[k]])
w[i+x[k]][j+y[k]]=w[i][j]+1,q.push((i+x[k])*m+j+y[k]);
}
int main()
{
for(F>>n>>m,F.ignore();i<n;getline(F,a[i++]));
for(i=0;i<n;++i)
for(j=0;j<m;a[i][j]=='R'?b=i,c=j:a[i][j]=='J'?d=i,e=j:0,++j);
for(A(b,c,w),A(d,e,z),d=1e9,i=0;i<n;++i)
for(j=0;j<m;++j)
if(w[i][j]==z[i][j]&&z[i][j]>0&&z[i][j]<d)
b=i+1,c=j+1,d=z[i][j];
return G<<d<<' '<<b<<' '<<c,0;
}