#include <bits/stdc++.h>
using namespace std;
bool check (priority_queue<pair<int, char>> &pq, string &s, int d){
int soViTriConLai = s.length();
while(!pq.empty()){
pair<int, char> pr = pq.top();
pq.pop();
if(s.length() % 2 != 0){
if(pr.first > s.length() / d + 1) return false;
}
else{
if(pr.first > s.length() / d) return false;
}
soViTriConLai -= pr.first;
}
return true;
}
int main(){
int t; cin >> t;
while(t--){
int d; cin >> d;
string s; cin >> s;
unordered_map<char, int> ump;
for(char c : s)
++ump[c];
priority_queue<pair<int, char>> pq;
for(auto pr : ump)
pq.push({pr.second, pr.first});
if(check(pq, s, d)) cout << "1\n";
else cout << "-1\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGNoZWNrIChwcmlvcml0eV9xdWV1ZTxwYWlyPGludCwgY2hhcj4+ICZwcSwgc3RyaW5nICZzLCBpbnQgZCl7CglpbnQgc29WaVRyaUNvbkxhaSA9IHMubGVuZ3RoKCk7CgkKCXdoaWxlKCFwcS5lbXB0eSgpKXsKCQlwYWlyPGludCwgY2hhcj4gcHIgPSBwcS50b3AoKTsKCQlwcS5wb3AoKTsKCQkKCQlpZihzLmxlbmd0aCgpICUgMiAhPSAwKXsKCQkJaWYocHIuZmlyc3QgPiBzLmxlbmd0aCgpIC8gZCArIDEpIHJldHVybiBmYWxzZTsKCQl9CgkJZWxzZXsKCQkJaWYocHIuZmlyc3QgPiBzLmxlbmd0aCgpIC8gZCkgcmV0dXJuIGZhbHNlOwoJCX0KCQlzb1ZpVHJpQ29uTGFpIC09IHByLmZpcnN0OwoJfQoJCglyZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKXsKCWludCB0OyBjaW4gPj4gdDsKCXdoaWxlKHQtLSl7CgkJaW50IGQ7IGNpbiA+PiBkOwoJCXN0cmluZyBzOyBjaW4gPj4gczsKCQkKCQl1bm9yZGVyZWRfbWFwPGNoYXIsIGludD4gdW1wOwoJCWZvcihjaGFyIGMgOiBzKQoJCQkrK3VtcFtjXTsKCQkJCgkJcHJpb3JpdHlfcXVldWU8cGFpcjxpbnQsIGNoYXI+PiBwcTsKCQlmb3IoYXV0byBwciA6IHVtcCkKCQkJcHEucHVzaCh7cHIuc2Vjb25kLCBwci5maXJzdH0pOwoJCQkKCQlpZihjaGVjayhwcSwgcywgZCkpIGNvdXQgPDwgIjFcbiI7CgkJZWxzZSBjb3V0IDw8ICItMVxuIjsKCX0KfQ==