#include<bits/stdc++.h>
#define ll long long int
#define vec vector<ll>
#define f(var,a,b) for(ll var = a ; var < b ; var++ )
#define fr(var,a,b) for(ll var = a ; var > b ; var-- )
#define fasthoja ios_base::sync_with_stdio(false); cin.tie(NULL);
using namespace std;
// This function will calculate the minimum frequency character
// which is not zero
ll mini( ll freq[] ) {
ll ans = INT_MAX;
f(i,0,26) {
if( freq[i] == 0 ) continue;
if( freq[i] < ans ) ans = freq[i];
}
return ans;
}
void att1( string s ) {
ll n = s.length();
// storing the freqency, of the characters
ll freq[26] = {0};
f(i,0,n) freq[ s[i] - 'a' ]++;
ll mn = mini( freq );
string ans = ""; // this wiil contain our final answer
f(i,0,26) {
if( freq[i] % mn != 0 ) {
// if the current character frequency, is not divisible
// by the minimum freq[] value. then take the entire string
// as ans,
// reason : there cannot be any smallest part of original string
// which, can make the orginial string other than entire string itself
ans = s;
break;
}
else {
// calulcate the number of times,
// we need to add the current character to our ans
ll times = ( freq[i] / mn );
// adding the current character to our ans
while( times-- ) {
ans += ( 'a' + i );
}
}
}
// sorting for making the ans, lexicographically sorted
sort( ans.begin() , ans.end() );
cout << ans << "\n";
}
int main(void){
fasthoja;
ll t; cin>>t;
while(t--){
ll n; cin >> n;
string s; cin >> s;
att1(s);
}//end of test case loop
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgdmVjIHZlY3RvcjxsbD4KI2RlZmluZSBmKHZhcixhLGIpIGZvcihsbCB2YXIgPSBhIDsgdmFyIDwgYiA7IHZhcisrICkKI2RlZmluZSBmcih2YXIsYSxiKSBmb3IobGwgdmFyID0gYSA7IHZhciA+IGIgOyB2YXItLSApCiNkZWZpbmUgZmFzdGhvamEgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoTlVMTCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBUaGlzIGZ1bmN0aW9uIHdpbGwgY2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZyZXF1ZW5jeSBjaGFyYWN0ZXIKLy8gd2hpY2ggaXMgbm90IHplcm8KbGwgbWluaSggbGwgZnJlcVtdICkgewogICAgbGwgYW5zID0gSU5UX01BWDsKICAgIGYoaSwwLDI2KSB7CiAgICAgICAgaWYoIGZyZXFbaV0gPT0gMCApIGNvbnRpbnVlOwoKICAgICAgICBpZiggZnJlcVtpXSA8IGFucyApIGFucyA9IGZyZXFbaV07CiAgICB9CiAgICByZXR1cm4gYW5zOwp9Cgp2b2lkIGF0dDEoIHN0cmluZyBzICkgewoKICAgIGxsIG4gPSBzLmxlbmd0aCgpOwogICAgLy8gc3RvcmluZyB0aGUgZnJlcWVuY3ksIG9mIHRoZSBjaGFyYWN0ZXJzCiAgICBsbCBmcmVxWzI2XSA9IHswfTsKICAgIGYoaSwwLG4pIGZyZXFbIHNbaV0gLSAnYScgXSsrOwoKICAgIGxsIG1uID0gbWluaSggZnJlcSApOwogICAgCiAgICBzdHJpbmcgYW5zID0gIiI7IC8vIHRoaXMgd2lpbCBjb250YWluIG91ciBmaW5hbCBhbnN3ZXIKICAgIAogICAgZihpLDAsMjYpIHsKICAgICAgICAKICAgICAgICBpZiggZnJlcVtpXSAlIG1uICE9IDAgKSB7CiAgICAgICAgCS8vIGlmIHRoZSBjdXJyZW50IGNoYXJhY3RlciBmcmVxdWVuY3ksIGlzIG5vdCBkaXZpc2libGUKICAgICAgICAJLy8gYnkgdGhlIG1pbmltdW0gZnJlcVtdIHZhbHVlLiB0aGVuIHRha2UgdGhlIGVudGlyZSBzdHJpbmcKICAgICAgICAJLy8gYXMgYW5zLAogICAgICAgIAkvLyByZWFzb24gOiB0aGVyZSBjYW5ub3QgYmUgYW55IHNtYWxsZXN0IHBhcnQgb2Ygb3JpZ2luYWwgc3RyaW5nCiAgICAgICAgCS8vIHdoaWNoLCBjYW4gbWFrZSB0aGUgb3JnaW5pYWwgc3RyaW5nIG90aGVyIHRoYW4gZW50aXJlIHN0cmluZyBpdHNlbGYKICAgICAgICAgICAgYW5zID0gczsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgIAkvLyBjYWx1bGNhdGUgdGhlIG51bWJlciBvZiB0aW1lcywKICAgICAgICAJLy8gd2UgbmVlZCB0byBhZGQgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIHRvIG91ciBhbnMKICAgICAgICAgICAgbGwgdGltZXMgPSAoIGZyZXFbaV0gLyBtbiApOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gYWRkaW5nIHRoZSBjdXJyZW50IGNoYXJhY3RlciB0byBvdXIgYW5zCiAgICAgICAgICAgIHdoaWxlKCB0aW1lcy0tICkgewogICAgICAgICAgICAgICAgYW5zICs9ICggJ2EnICsgaSApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgLy8gc29ydGluZyBmb3IgbWFraW5nIHRoZSBhbnMsIGxleGljb2dyYXBoaWNhbGx5IHNvcnRlZAogICAgc29ydCggYW5zLmJlZ2luKCkgLCBhbnMuZW5kKCkgKTsKICAgIGNvdXQgPDwgYW5zIDw8ICJcbiI7Cn0KaW50IG1haW4odm9pZCl7CgogICAgZmFzdGhvamE7CiAgICBsbCB0OyBjaW4+PnQ7CiAgIAogICAgd2hpbGUodC0tKXsKICAgICAgICBsbCBuOyBjaW4gPj4gbjsKICAgICAgICBzdHJpbmcgczsgY2luID4+IHM7CiAgICAgICAgYXR0MShzKTsKICAgICAgICAKICAgIH0vL2VuZCBvZiB0ZXN0IGNhc2UgbG9vcAogICAgcmV0dXJuIDA7Cn0=