#include <iostream>
#include <fstream>
#include <cstring>
#define MAXN 999999999
using namespace std;
ifstream fin ("rj.in");
ofstream fout ("rj.out");
int n, m;
int v[105][105], ro[105][105], ju[105][105];
int minn, ii, jj;
void pr(int i, int j, int val){
ro[i][j]=val;
if(i < n && v[i+1][j] == 1 && val+1 < ro[i+1][j])
pr(i+1, j, val+1);
if(i > 1 && v[i-1][j] == 1 && val+1 < ro[i-1][j])
pr(i-1, j, val+1);
if(j < m && v[i][j+1] == 1 && val+1 < ro[i][j+1])
pr(i, j+1, val+1);
if(j > 1 && v[i][j-1] == 1 && val+1 < ro[i][j-1])
pr(i, j-1, val+1);
if(i < n && j < m && v[i+1][j+1] == 1 && val+1 < ro[i+1][j+1])
pr(i+1, j+1, val+1);
if(i < n && j > 1 && v[i+1][j-1] == 1 && val+1 < ro[i+1][j-1])
pr(i+1, j-1, val+1);
if(i > 1 && j < m && v[i-1][j+1] == 1 && val+1 < ro[i-1][j+1])
pr(i-1, j+1, val+1);
if(i > 1 && j > 1 && v[i-1][j-1] == 1 && val+1 < ro[i-1][j-1])
pr(i-1, j-1, val+1);
}
void pj(int i, int j, int val){
ju[i][j]=val;
if(i < n && v[i+1][j] == 1 && val+1 < ju[i+1][j])
pr(i+1, j, val+1);
if(i > 1 && v[i-1][j] == 1 && val+1 < ju[i-1][j])
pr(i-1, j, val+1);
if(j < m && v[i][j+1] == 1 && val+1 < ju[i][j+1])
pr(i, j+1, val+1);
if(j > 1 && v[i][j-1] == 1 && val+1 < ju[i][j-1])
pr(i, j-1, val+1);
if(i < n && j < m && v[i+1][j+1] == 1 && val+1 < ju[i+1][j+1])
pr(i+1, j+1, val+1);
if(i < n && j > 1 && v[i+1][j-1] == 1 && val+1 < ju[i+1][j-1])
pr(i+1, j-1, val+1);
if(i > 1 && j < m && v[i-1][j+1] == 1 && val+1 < ju[i-1][j+1])
pr(i-1, j+1, val+1);
if(i > 1 && j > 1 && v[i-1][j-1] == 1 && val+1 < ju[i-1][j-1])
pr(i-1, j-1, val+1);
}
int main (){
fin>>n>>m;
fin.get();
for(int i=0; i<n; i++){
char s[105];
fin.get(s, 105);
for(int j=0; s[j] != 0; j++){
if(s[j] == ' ')
v[i+1][j+1]=1;
else if(s[j] == 'X')
v[i+1][j+1]=4;
else if(s[j] == 'R')
v[i+1][j+1]=2;
else if(s[j] == 'J')
v[i+1][j+1]=3;
ro[i+1][j+1]=MAXN;
ju[i+1][j+1]=MAXN;
}
fin.get();
}
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++)
cout<<v[i][j]<<" ";
cout<<"\n";
}
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++){
if(v[i][j] == 2)
pr(i, j, 1);
if(v[i][j] == 3)
pj(i, j, 1);
}
minn=MAXN;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
if(ro[i][j] != MAXN && ju[i][j] != MAXN && ro[i][j] == ju[i][j]){
if(ro[i][j] < minn){
minn=ro[i][j];
ii=i;
jj=j;
}else if(ro[i][j] == minn && j < jj){
minn=ro[i][j];
ii=i;
jj=j;
}
}
fout<<minn<<" "<<ii<<" "<<jj;
return 0;
}