#include <cstdio>
#define DIM 105
#define INF 32000
int a[DIM][DIM], b[DIM][DIM], n, m, ri, rj, ji, jj;
FILE *out = fopen("rj.out", "w");
int abs(int x)
{
return (x>0 ? x : -x);
}
void citire()
{
FILE *f = fopen("rj.in", "r");
fscanf(f, "%d%d", &n, &m);
char c;
fscanf(f, "%c", &c);//n
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
fscanf(f, "%c", &c);
if (c == 'R')
ri = i, rj = j;
if (c == 'J')
ji = i, jj = j;
if (c == ' ')
a[i][j] = 0;
if (c == 'X')
a[i][j] = 1;
b[i][j] = INF;
}
fscanf(f, "%c", &c);
}
fclose(f);
}
void afis()
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
if (b[i][j] != INF)
fprintf(out, " %d", b[i][j]);
else
fprintf (out, " X");
fprintf(out, "\n");
}
}
int OK(int i, int j)
{
if (i < 1 || i > n || j < 1 || j > m)
return 0;
if (a[i][j] == 1)
return 0;
if (b[i][j] != INF)
return 0;
return 1;
}
void lee()
{
int *coadai, *coadaj;
coadai = new int [n*m];
coadaj = new int [n*m];
int st, dr, i, j, im ,jm;
const int vi[] = {-1, -1, -1, 0, 1, 1, 1, 0},
vj[] = {-1, 0, 1, 1, 1, 0,-1,-1};
st = 1;
dr = 2;
coadai[1] = ri;
coadaj[1] = rj;
coadai[2] = ji;
coadaj[2] = jj;
b[ri][rj] = 1;
b[ji][jj] = -1;
while(st <= dr)
{
i = coadai[st];
j = coadaj[st];
for (int d = 0; d < 8; d++)
{
im = i + vi[d];
jm = j + vj[d];
if(b[im][jm] == abs(b[i][j]) + 1)
{fprintf(out, "%d %d %d\n", abs(b[im][jm]) , im, jm);return;}
if (b[im][jm] == -b[i][j])
{fprintf(out, "%d %d %d\n", abs(b[im][jm])+1 , im, jm);return;}
if (OK(im, jm))
{
if (b[i][j] > 0)
b[im][jm] = b[i][j] + 1 ;
else
b[im][jm] = b[i][j] - 1 ;
dr++;
coadai[dr] = im;
coadaj[dr] = jm;
}
}
st++;
}
}
int main ()
{
citire();
lee();
//afis();
fclose(out);
return 0;
}