#include <stdio.h>
#define infile "rj.in"
#define outfile "rj.out"
#define nmax 101
int v[nmax][nmax], i, j, n, m, cx[nmax*nmax], cy[nmax*nmax], p=1, u, tmin=32000, xx, yy, dx[8]={-1,-1,0,1,1,1,0,-1}, dy[8]={0,1,1,1,0,-1,-1,-1};
void readdata();
void writedata();
void solve();
int inside(int,int);
int main()
{
readdata();
solve();
writedata();
return 0;
}
void readdata()
{
char c;
freopen(infile, "r", stdin);
scanf("%d %d\n", &n, &m);
for (i=1; i<=n; i++)
for (j=1; j<=m+1; j++)
{
scanf("%c", &c);
if (c=='X') v[i][j]=-1;
if (c==' ') v[i][j]=0;
if (c=='R' || c=='J' ) { cx[++u]=i; cy[u]=j; v[i][j]=1; }
}
fclose(stdin);
}
void writedata()
{
freopen(outfile, "w", stdout);
printf("%d %d %d\n", tmin, xx, yy);
fclose(stdin);
}
int inside(int x, int y)
{
if (x<1 || x>n) return 0;
if (y<1 || y>m) return 0;
return 1;
}
void solve()
{
int x,y;
while (p<=u)
{
x=cx[p];
y=cy[p++];
for (int l=0; l<8; l++)
{
if ( inside(x+dx[l], y+dy[l]))
{
if (!v[x+dx[l]][y+dy[l]])
{
cx[++u]=x+dx[l];
cy[u]=y+dy[l];
v[x+dx[l]][y+dy[l]]=v[x][y]+1;
}
else if (v[x+dx[l]][y+dy[l]]==v[x][y]+1)
{
if (tmin>v[x][y]+1)
{
tmin=v[x][y]+1;
xx=x+dx[l];
yy=y+dy[l];
}
else if (tmin==v[x][y]+1 && x+dx[l]<xx )
{
xx=x+dx[l];
yy=y+dy[l];
}
else if (tmin==v[x][y]+1 && x+dx[l]==xx && y+dy[l]<yy)
{
xx=x+dx[l];
yy=y+dy[l];
}
}
}
}
}
}