//SUST_ZadeedBoss_Fanclub
//code_korlei_life_ase
//na_korle_lifeNai
#include<bits/stdc++.h>
using namespace std;
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
// using namespace __gnu_pbds;
// template <typename T> using o_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
// #define int long long
// #define double long double
// #define all(x) x.begin(), x.end()
// #define rall(x) x.rbegin(), x.rend()
// mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
int dp[500005][15];
void solve ()
{
int n; cin >>n; n++;
string s; cin >>s; s = "$" + s;
string t = "$SeriousOJ";
int m = t.size();
for (int i=1; i<n; i++)
{
for (int j=1; j<m; j++)
{
dp[i][j] = dp[i-1][j];
if (s[i] == t[j])
{
dp[i][j] = max(dp[i][j], dp[i-1][j-1] + 1);
}
}
}
if (dp[n-1][m-1] == m-1) cout <<"YES\n";
else cout <<"NO\n";
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL);
int TCASE = 1;
cin >> TCASE;
for (int tcase = 1; tcase <= TCASE; tcase++)
{
// cout <<"Case #" <<tcase <<": ";
solve();
}
}