#include<bits/stdc++.h>
using namespace std;
int main(){
// freopen("input.txt","r",stdin);
int t;
cin>>t;
int n;
string s;
while(t--){
cin>>n>>s;
int arr[n] = {0};
int l = 0;
int r = n-1;
int temp = 0;
bool flag = true;
while(l<r){
// cout<<l<<" "<<r<<endl;
if(s[l] != s[r]){
if(l+1 < r || r-1 > l){
if(s[l] == s[r-1] && arr[r-1] == 0 && arr[r] == 0){
char ch = s[r];
s[r] = s[r-1];
s[r-1] = ch;
temp++;
arr[r-1] = 1;
arr[r] = 1;
}
if(s[r] == s[l+1]&& arr[l] == 0 && arr[l+1] == 0){
char ch = s[l];
s[l] = s[l+1];
s[l+1] = ch;
arr[l] = 1;
arr[l+1] = 1;
temp++;
}
}
}
l++;
r--;
}
l = 0;
r = n-1;
// cout<<s<<endl;
while(l < r){
if(s[l] != s[r]){
flag = false;
break;
}
l++;
r--;
}
if(flag)
cout<<"YES"<<endl<<temp<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7IAovLwlmcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbik7CiAgIGludCB0OwogICBjaW4+PnQ7CiAgIGludCBuOwogICBzdHJpbmcgczsKICAgd2hpbGUodC0tKXsKICAgCQljaW4+Pm4+PnM7CiAgIAkJaW50IGFycltuXSA9IHswfTsKICAgCQlpbnQgbCA9IDA7CiAgIAkJaW50IHIgPSBuLTE7CiAgIAkJaW50IHRlbXAgPSAwOwogICAJCWJvb2wgZmxhZyA9IHRydWU7CiAgIAkJd2hpbGUobDxyKXsKICAgCQkvLwljb3V0PDxsPDwiICI8PHI8PGVuZGw7CiAgIAkJCWlmKHNbbF0gIT0gc1tyXSl7CiAgIAkJCQlpZihsKzEgPCByIHx8IHItMSA+IGwpewogICAJCQkJCWlmKHNbbF0gPT0gc1tyLTFdICYmIGFycltyLTFdID09IDAgJiYgYXJyW3JdID09IDApewogICAJCQkJCQljaGFyIGNoID0gc1tyXTsKICAgCQkJCQkJc1tyXSA9IHNbci0xXTsKICAgCQkJCQkJc1tyLTFdID0gY2g7CiAgIAkJCQkJCXRlbXArKzsKICAgCQkJCQkJYXJyW3ItMV0gPSAxOwogICAJCQkJCQlhcnJbcl0gPSAxOwogICAJCQkJCX0KICAgCQkJCQlpZihzW3JdID09IHNbbCsxXSYmIGFycltsXSA9PSAwICYmIGFycltsKzFdID09IDApewogICAJCQkJCQljaGFyIGNoID0gc1tsXTsKICAgCQkJCQkJc1tsXSA9IHNbbCsxXTsKICAgCQkJCQkJc1tsKzFdID0gY2g7CiAgIAkJCQkJCWFycltsXSA9IDE7CiAgIAkJCQkJCWFycltsKzFdID0gMTsKICAgCQkJCQkJdGVtcCsrOwogICAJCQkJCX0KCiAgIAkJCQl9CiAgIAkJCX0KICAgCQkJCWwrKzsKICAgCQkJCXItLTsKICAgCQl9CiAgIAkJCiAgIAkJbCA9IDA7CiAgIAkJciA9IG4tMTsKICAgCS8vCWNvdXQ8PHM8PGVuZGw7CiAgIAkJd2hpbGUobCA8IHIpewogICAJCQlpZihzW2xdICE9IHNbcl0pewogICAJCQkJZmxhZyA9IGZhbHNlOwogICAJCQkJYnJlYWs7CiAgIAkJCX0KICAgCQkJbCsrOwogICAJCQlyLS07CiAgIAkJfQoKICAgCQlpZihmbGFnKQogICAJCQljb3V0PDwiWUVTIjw8ZW5kbDw8dGVtcDw8ZW5kbDsKICAgCQllbHNlCiAgIAkJCWNvdXQ8PCJOTyI8PGVuZGw7CiAgIH0KICAgIHJldHVybiAwOwp9