#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

#ifdef DEBUG
    #define var(x) cerr << #x << ": " << x << '\n';
    #define range(a, b) cerr << #a <<", " << #b << ": "; for (auto _it = a; _it != b; ++_it) cerr << *_it << ' '; cerr <<'\n';
#else
    #define cerr if (false) cerr
    #define var(x)
    #define range(a, b)
#endif

#define pii pair<int, int>
#define F first
#define S second
#define T(x, i) get<i>(x)
#define all(v) v.begin(), v.end()
#define forn(i, n) for (int i = 0; i < n; i++)

const int MAXN = 1e6 + 10;
int n;
string s;

bool solver() {
    var(s);
    vector<int> idr;
    vector<int> idw;
    int k = 0;
    forn(i, 2*n) {
        if (s[i] == 'R') {
            idr.push_back(i);
        }
        if (s[i] == 'W') {
            idw.push_back(i);
        }
    }
    for (int i = 0; i < n; i++) {
        if (s[i] == 'W') k++;
    }
    range(idr.begin(), idr.end());
    if (k % 2 == 1) {
        var(k);
        return false;
        // cout << "NO\n";
        // return;
    }
    k /= 2;
    int p = idw.back() + 1;
    if (p + k <= 2 * n) {
        var(p << ' ' << k);
        return true;
        // cout << "YES\n";
        // return;
    }
    return false;
}

void solve() {
    if (!solver()) {
        cout << "NO\n";
        return;
    }
    reverse(all(s));
    forn(i, 2 * n) {
        if (s[i] == 'R') s[i] = 'W';
        else s[i] = 'R';
    }
    if (!solver()) {
        cout << "NO\n";
        return;
    }
    cout << "YES\n";
}

signed main() {
    #ifdef DEBUG
        freopen("input.in", "r", stdin);
        freopen("output.out", "w", stdout);
    #endif
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    while (cin >> n >> s) solve();
}