#include<bits/stdc++.h>
using namespace std;
long long t,n,m,l,r,k,maxx=-1;
char a[105][105];
long long mjh(int x,int y)
{
long long sum=0;
for(int i=x-1;i>=1;i--)//向第x行的上面枚举
if(a[i][y]=='R')sum++;
else if(a[i][y]=='#')break;//遇到墙就停止向上枚举
for(int i=x+1;i<=n;i++)//向第x行的下面枚举
if(a[i][y]=='R')sum++;
else if(a[i][y]=='#')break;//遇到墙就停止向下枚举
return sum;
}
long long mjl(int x,int y)
{
long long sum=0;
for(int i=y-1;i>=1;i--)//向第y行的左边枚举
if(a[x][i]=='R')sum++;
else if(a[x][i]=='#')break;//遇到墙就停止向左枚举
for(int i=y+1;i<=m;i++)//向第y行的右边枚举
if(a[x][i]=='R')sum++;
else if(a[x][i]=='#')break;//遇到墙就停止向右枚举
return sum;
}
long long mjd(int x,int y)
{
long long sum=0;
for(int i=x-1,j=y-1;i>=1&&j>=1;i--,j--)//向左上角枚举
if(a[i][j]=='R')sum++;
else if(a[i][j]=='#')break;//遇到墙就停止向左上角枚举
for(int i=x+1,j=y+1;i<=n&&j<=m;i++,j++)//向右下角枚举
if(a[i][j]=='R')sum++;
else if(a[i][j]=='#')break;//遇到墙就停止向右下角枚举
for(int i=x-1,j=y+1;i>=1&&j<=m;i--,j++)//向右上角枚举
if(a[i][j]=='R')sum++;
else if(a[i][j]=='#')break;//遇到墙就停止向右上角枚举
for(int i=x+1,j=y-1;i<=n&&j>=1;i++,j--)//向左下角枚举
if(a[i][j]=='R')sum++;
else if(a[i][j]=='#')break;//遇到墙就停止向左下角枚举
return sum;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(a[i][j]=='#')continue;//注意不能在墙上
k=(a[i][j]=='R');//判断这个位置是不是复制蛙
k+=mjh(i,j);//枚举行的复制蛙数量
k+=mjl(i,j);//枚举列的复制蛙数量
k+=mjd(i,j);//枚举对角线的c复制蛙数量
if(k>maxx)//如果这个位置可以得到更多的复制蛙,那就取这个位置
{
maxx=k;
l=i;
r=j;
}
}
cout<<l<<" "<<r<<"\n";
maxx=-1;//记得把最大值清到-1
}
return 0;
}