#include <iostream>
#include<fstream>
#include<cstring>
#include<queue>
using namespace std;
ifstream f("rj.in");
ofstream g("rj.out");
int n,m,i,j,a[101][101],b[101][101],c,c1,C,C1,o,M=100001;
char v[101];
int x[10]={-1,-1,0,1,1, 1,0,-1};
int y[10]={0, 1,1,1,0,-1,-1,-1};
queue <pair< int, int> >q;
int main()
{
f>>n>>m;
f.get();
for(i=1;i<=n;i++)
{
f.getline(v,m+1);
for(j=0;j<strlen(v);j++)
{
if(v[j]=='X')
a[i][j+1]=1,b[i][j+1]=1;
else
if(v[j]=='R')
c=i,c1=j+1,a[i][j+1]=1;
else
if(v[j]=='J')
C=i,C1=j+1,b[i][j+1]=1;
}
}
q.push(make_pair(c,c1));
while(!q.empty())
{
i=q.front().first;
j=q.front().second;
for(o=0;o<8;o++)
{
if(a[i+x[o]][j+y[o]]==0&&i+x[o]>0&&i+x[o]<=n&&j+y[o]>0&&j+y[o]<=m)
a[i+x[o]][j+y[o]]=a[i][j]+1,q.push(make_pair(i+x[o],j+y[o]));
}
q.pop();
}
q.push(make_pair(C,C1));
while(!q.empty())
{
i=q.front().first;
j=q.front().second;
for(o=0;o<8;o++)
{
if(b[i+x[o]][j+y[o]]==0&&i+x[o]>0&&i+x[o]<=n&&j+y[o]>0&&j+y[o]<=m)
b[i+x[o]][j+y[o]]=b[i][j]+1,q.push(make_pair(i+x[o],j+y[o]));
}
q.pop();
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(a[i][j]==b[i][j]&&a[i][j]>1&&a[i][j]<M)
c=a[i][j],c1=i,C=j;
}
g<<c<<" "<<c1<<" "<<C;
}