#include<fstream>
#include<iomanip>
#define M 102
using namespace std;
ifstream f ("rj.in");
ofstream g ("rj.out");
int a[M][M], b[M][M], bb[M][M], i, j, n, ef, m, len, ij, jr, jj, ir, soli, solj, mini;
int diri[] = {0, -1, -1, 0, 1, 1, 1, 0, -1}; //N NE E SE S SV V NV
int dirj[] = {0, 0, 1, 1, 1, 0, -1, -1, -1};
string s; int c[100000];
void LeeRomeo() {
int i, j, i_i, j_j, p, u, el, d;
i = ir; j = jr; b[i][j] = 1;
c[1] = i * 1000 + j; p = 1; u = 1; //p -primul u -ultim
while (p <= u) {
el = c[p]; i = el / 1000; j = el % 1000; p++; //se codifica i,j intr-un singur numar ex: 23, 45=>23045
for (d = 1; d <= 8; d++) { //merge dupa cele 8 directii
i_i = i + diri[d]; j_j = j + dirj[d]; //i_i, j_j noile pozitii ce rezulta din deplasarea din cele 8 directii
if (b[i_i][j_j] == 0) {
b[i_i][j_j] = b[i][j] + 1; //marcheaza celula
u++; c[u] = i_i * 1000 + j_j; //pune in coada
}
}
}
}
void LeeJulieta() {
int i, j, i_i, j_j, p, u, el, d;
i = ij; j = jj; bb[i][j] = 1;
c[1] = i * 1000 + j; p = 1; u = 1;
while (p <= u) {
el = c[p]; i = el / 1000; j = el % 1000; p++;
for (d = 1; d <= 8; d++) {
i_i = i + diri[d]; j_j = j + dirj[d];
if (bb[i_i][j_j] == 0) {
bb[i_i][j_j] = bb[i][j] + 1;
u++;
c[u] = i_i * 1000 + j_j;
}
}
}
}
int main()
{
f >> n >> m; f.get();
for (i = 0; i <= n + 1; i++) {a[i][0] = -1; a[i][m+1] = -1; } //bordare
for (i = 0; i <= m + 1; i++) {a[0][i] = -1; a[n+1][i] = -1; } //bordare
for (i = 1; i <= n; i++) {
getline (f, s);
len = s.size();
for (j = 0; j < len; j++) {
if (s[j] == 'X') a[i][j+1] = -1;
if (s[j] == ' ') a[i][j+1] = 0;
if (s[j] == 'R') ir = i, jr = j + 1;
if (s[j] == 'J') ij = i, jj = j + 1;
}
}
for (i = 0; i <= n + 1; i++)
for (j = 0; j <= m + 1; j++) b[i][j] = a[i][j];
LeeRomeo();
for (i = 0; i <= n + 1; i++)
for (j = 0; j <= m + 1; j++) bb[i][j] = a[i][j];
LeeJulieta();
//for(i=1;i<=n;i++){for(j=1;j<=m;j++) g<<setw(2)<<b[i][j]<<' ';g<<'\n';}g<<'\n';
//for(i=1;i<=n;i++){for(j=1;j<=m;j++) g<<setw(2)<<bb[i][j]<<' ';g<<'\n';}
mini = 1000000;
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
if (b[i][j] != -1 && b[i][j] != 0 && b[i][j] == bb[i][j] && b[i][j] < mini) {mini = b[i][j]; soli = i; solj = j;}
g << mini << ' ' << soli << ' ' << solj << ' ' << '\n';
f.close(); g.close();
return 0;
}
n 0;
}