#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
 
const int MOD1 = 1e9 + 7;
const int MOD2 = 998244353;
 
int modpow(int x, int n, int m) {
	if (n == 0) return 1 % m;
	long long u = modpow(x, n / 2, m);
	u = (u * u) % m;
	if (n % 2 == 1) u = (u * x) % m;
	return u;
}
 
int gcd(int a, int b) {
	if (b == 0)
		return a;
	else
		return gcd(b, a % b);
}
int lcm(int a, int b) {
	return a / gcd(a, b) * b;
}

void solve() {
	int n; cin >> n;
	string s; cin >> s;
	
	vector<int> left_T;
	vector<int> T;
	vector<int> M;
	vector<int> right_T;
	
	for(int i = 0; i < n; i++) {
		if(s[i] == 'M') M.push_back(i);
		if(s[i] == 'T') T.push_back(i);
	}
	if((int) T.size() != 2 * (int) M.size()) {
		cout << "NO\n";
		return;
	}
	
	for(int i = 0; i < (int) M.size(); i++) {
		left_T.push_back(T[i]);
	}
	for(int i = (int) M.size(); i < (int) T.size(); i++) {
		right_T.push_back(T[i]);
	}
	
	for(int i = 0; i < (int) M.size(); i++) {
		if(!(left_T[i] < M[i] && M[i] < right_T[i])) {
			cout << "NO\n";
			return;
		}
	}
	cout << "YES\n";
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int t; cin >> t;
	for(int i = 0; i < t; i++) {
		solve();
	}
}

