#include <bits/stdc++.h>
using namespace std;
#define sc(x) scanf("%d", &(x))
#define sclld(x) scanf("%lld", &(x))
#define sz(x) int((x).size())
#define all(x) (x).begin(), (x).end()
#define MT make_tuple
#define MP make_pair
#define lastOne(x) (31 - __builtin_clz(x))
#define debug(x) cout<<(#x)<<": \""<<x<<"\""<<endl
#define debugVec(vec) cout<<(#vec)<<": "; for (auto& i: vec) cout<<i<<" "; cout<<endl

typedef long long ll;
typedef pair<int, int> ii;
const double PI = 2*acos(0); 
const double EPS =  1e-9;
const int oo = 2e9;
const ll OO = 1e18;
const ll MOD = 1e9+7;

const int N = 1e5+5;
char in[N];

int main() 
{
    int t;
    sc(t);
    while (t--)
    {
        int x, y;
        scanf("%d%d", &x, &y);
        scanf("%s", in);
        string s = in;
        int r = 0, l = 0, u = 0, d = 0;
        for (int i = 0; i < sz(s); i++)
        {
            switch (s[i])
            {
            case 'U':
                u++;
                break;
            case 'D':
                d++;
                break;
            case 'R':
                r++;
                break;
            case 'L':
                l++;
                break;
            default:
                break;
            }
        }
        bool hor = false, ver = false;
        if (x >= 0 && r >= x || x <= 0 && l >= -x)
            hor = true;
        if (y >= 0 && u >= y || y <= 0 && d >= -y)
            ver = true;
        if (hor && ver)
            puts("YES");
        else
            puts("NO");
    }
    
    return 0;
}