for _ in range(int(input())):
n, k = map(int, input().split())
s = input()
l1 = []
l2= [0] * 26
for ch in s:
l2 [ord(ch) - ord('a')]+= 1
for i in range(k):
x = 0
c = n//k
while l2[x] and c:
l2[x] -= 1
c -= 1
x += 1
l1.append(chr(x + ord('a')))
print(''.join(l1))
#include <bits/stdc++.h>
using namespace std;
#define fore(i, l, r) for (auto i = (l) - ((l) > (r)); i != (r) - ((l) > (r)); i += 1 - 2 * ((l) > (r)))
#define all(a) begin(a), end(a)
#define sz(a) lli(a.size())
#define pb push_back
#define f first
#define s second
#ifdef LOCAL
#include "../debug.h"
#else
#define debug(...)
#endif
using lli = long long;
using ld = long double;
using ii = pair<lli, lli>;
const lli N = 1e6 + 5;
const lli INF = 4e18 + 5;
lli n, k;
string s;
template <class T>
bool umin(T& a, T b) {
return (a = min(a, b)) == b;
}
template <class T>
bool umax(T& a, T b) {
return (a = max(a, b)) == b;
}
void testCase() {
cin >> n >> k >> s;
map<char, lli> fr;
for (char c : s) {
fr[c]++;
}
fore (it, 0, k) {
lli cnt = 0;
fore (c, 0, 26) {
if (fr[c + 'a'] > 0) {
cnt++;
fr[c + 'a']--;
if (cnt == n / k) {
cout << char(c + 'a' + 1);
break;
}
} else {
cout << char(c + 'a');
break;
}
}
}
cout << '\n';
}
int main() {
cin.tie(0)->sync_with_stdio(0), cout.tie(0);
lli tc = 1;
cin >> tc;
while (tc--) {
testCase();
}
return 0;
}
559. Maximum Depth of N-ary Tree | 821. Shortest Distance to a Character |
1441. Build an Array With Stack Operations | 1356. Sort Integers by The Number of 1 Bits |
922. Sort Array By Parity II | 344. Reverse String |
1047. Remove All Adjacent Duplicates In String | 977. Squares of a Sorted Array |
852. Peak Index in a Mountain Array | 461. Hamming Distance |
1748. Sum of Unique Elements | 897. Increasing Order Search Tree |
905. Sort Array By Parity | 1351. Count Negative Numbers in a Sorted Matrix |
617. Merge Two Binary Trees | 1450. Number of Students Doing Homework at a Given Time |
700. Search in a Binary Search Tree | 590. N-ary Tree Postorder Traversal |
589. N-ary Tree Preorder Traversal | 1299. Replace Elements with Greatest Element on Right Side |
1768. Merge Strings Alternately | 561. Array Partition I |
1374. Generate a String With Characters That Have Odd Counts | 1822. Sign of the Product of an Array |
1464. Maximum Product of Two Elements in an Array | 1323. Maximum 69 Number |
832. Flipping an Image | 1295. Find Numbers with Even Number of Digits |
1704. Determine if String Halves Are Alike | 1732. Find the Highest Altitude |