#include<bits/stdc++.h>
#define int long long
using namespace std;
void solve()
{
int n;
cin>>n;
string s;
cin>>s;
s=" "+s;
int i;
stack<char>q,g;
map<char,int>p;
for(i=1;i<=n;i++)
{
if(s[i]=='C')
{
if(g.size()==0||g.size()==3)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else if(s[i]=='H')
{
if(g.size()==1)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else if(s[i]=='I')
{
if(g.size()==2)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else if(s[i]=='K')
{
if(g.size()==4)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else if(s[i]=='E')
{
if(g.size()==5)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else if(s[i]=='N')
{
if(g.size()==6)
g.push(s[i]);
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
else
{
if(!q.empty()&&q.top()!=s[i])
q.pop();
else
q.push(s[i]);
}
}
if(g.size()!=7||q.size()>0)
cout<<"NO";
else
cout<<"YES";
}
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t;
cin>>t;
while(t--)
{
solve();
cout<<endl;
}
return 0;
}