#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(); }