#include <fstream>
#include <queue>
#include <string>
using namespace std;
queue<int> linie;
queue<int> coloana;
int dl[8] = {-1, -1, 0, 1, 1, 1, 0, -1};
int dc[8] = { 0, 1, 1, 1, 0, -1, -1, -1};
int x, y, n, m, lin, col, lin1, col1, lr, cr, lj, cj, k;
int r[105][105], j[105][105];
char litera;
string enter;
int main(){
ifstream fin("rj.in");
ofstream fout("rj.out");
fin >> n >> m;
getline(fin, enter);
for(x = 1; x <= n; x++){
getline(fin, enter);
for(y = 0; y < m; y++){
if(enter[y] == 'X')
r[x][y + 1] = -1, j[x][y + 1] = -1;
if(enter[y] == ' ')
r[x][y + 1] = 0, j[x][y + 1] = 0;
if(enter[y] == 'R')
r[x][y + 1] = 1, j[x][y + 1] = 0, lr = x, cr = y + 1;
if(enter[y] == 'J')
r[x][y + 1] = 0, j[x][y + 1] = 1, lj = x, cj = y + 1;
}
}
linie.push(lr);
coloana.push(cr);
while(!linie.empty()){
lin = linie.front(), linie.pop();
col = coloana.front(), coloana.pop();
for(k = 0; k < 8; k++){
lin1 = lin + dl[k];
col1 = col + dc[k];
if(lin1 >= 1 && lin1 <= n && col1 >= 1 && col1 <= m && r[lin1][col1] == 0){
r[lin1][col1] = r[lin][col] + 1;
linie.push(lin1);
coloana.push(col1);
}
}
}
linie.push(lj);
coloana.push(cj);
while(!linie.empty()){
lin = linie.front(), linie.pop();
col = coloana.front(), coloana.pop();
for(k = 0; k < 8; k++){
lin1 = lin + dl[k];
col1 = col + dc[k];
if(lin1 >= 1 && lin1 <= n && col1 >= 1 && col1 <= m && j[lin1][col1] == 0){
j[lin1][col1] = j[lin][col] + 1;
linie.push(lin1);
coloana.push(col1);
}
}
}
int li = 0, ci = 0, tmin = 10003;
for(x = n; x >= 1; x--){
for(y = m; y >= 1; y--){
if(r[x][y] == j[x][y] && r[x][y] != -1 && r[x][y] != 0 && r[x][y] <= tmin){
tmin = r[x][y], li = x, ci = y;
}
}
}
fout << tmin << ' ' << li << ' ' << ci;
fin.close();
fout.close();
return 0;
}