#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<ll, ll> pll;

#define For(i,a , n)for(ll i = a;i<(ll)n;i++)
#define vec vector
#define all(x) begin(x), end(x)
#define sz(x)(ll)size(x)

template<class A, class B>
pair<A, B> operator+(const pair<A, B>& a, const pair<A, B>& b){
    return {a.first + b.first, a.second + b.second};
}

template<class A, class B>
ostream& operator<<(ostream& os, const pair<A, B>& a){
    return os<<"("<<a.first<<", "<<a.second<<")";
}

template<class A, class B, class C>
basic_ostream<A, B>& operator<<(basic_ostream<A, B>& os, const C& c){
    for(auto itr = begin(c);itr!=end(c);++itr){
        os<<(itr==begin(c)?"":" ")<<*itr;
    }
    return os;
}

template<typename... Args>
void dbg(Args&&... args){
    ((cerr<<args<<"| "),...);
    cerr<<endl;
}

void solve(){
    ll n;
    cin >> n;
    string wines;
    cin >> wines;
    //check even
    ll correct = 0;
    ll begin = 0;
    For(i,0,n){
        if(wines[i] == 'W'){
            if(correct == i){
                begin++;
            }
            correct++;
        }
    }
    ll e = 0;
    For(i,0,n){
        ll j = 2*n-1-i;
        if(wines[j] == 'R'){
            e++;
        }else{
            break;
        }
    }
    //dbg(correct,begin,e);
    if(correct%2 == 1){
        cout << "NO\n";
        return;
    }
    if(begin < correct/2 || e < correct/2){
        cout << "NO\n";
        return;
    }
    cout << "YES\n";
}

int main(){
    cin.tie(0)->sync_with_stdio(0);
    cin.exceptions(cin.failbit);
    ll t = 1; cin>>t;
    while(t--)solve();
}