#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MAX=1e6;
ll T,n,m,maxl,maxr,lr,maxu,maxd,ud;
ll memolr[2*MAX+5],memoud[2*MAX+5];//1~1e6:x<0 1e6+1~2e6:x>0
char s[MAX+5];
int main()
{
scanf("%lld",&T);
while(T--){
scanf("%lld%lld",&n,&m);
scanf("%s",&s);
maxl=maxr=lr=maxu=maxd=ud=0;
memset(memolr,0,sizeof memolr);
memset(memoud,0,sizeof memoud);
for(ll i=0;i<strlen(s);i++){
if(s[i]=='L')maxl=max(maxl,(--lr)<0?(~lr+1):0),memolr[(lr<0?(~lr+1):lr+MAX)]++;
if(s[i]=='R')maxr=max(maxr,(++lr)>0?lr:0),memolr[(lr<0?(~lr+1):lr+MAX)]++;
if(s[i]=='U')maxu=max(maxu,(--ud)<0?(~ud+1):0),memoud[(ud<0?(~ud+1):ud+MAX)]++;
if(s[i]=='D')maxd=max(maxd,(++ud)>0?ud:0),memoud[(ud<0?(~ud+1):ud+MAX)]++;
}
ll x,y,ljt;
while(maxl+maxr+1>m)ljt=(memolr[maxl]<=memolr[MAX+maxr])?(maxl>0?--maxl:--maxr):(maxr>0?--maxr:--maxl);
y=maxl+1;
while(maxu+maxd+1>n)ljt=(memolr[maxu]<=memolr[MAX+maxd])?(maxu>0?--maxu:--maxd):(maxd>0?--maxd:--maxu);
x=maxu+1;
printf("%lld %lld\n",x,y);
}
return 0;
}