#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
#include<queue>
#include<map>
using namespace std;
#define ll long long
#define all(x) (x).begin(), (x).end()
int main() {
int t;
cin >> t;
while (t--)
{
int n, k;
cin >> n >> k;
string s;
cin >> s;
if(k % 2 == 0) {
sort(all(s));
}
else {
string e, o;
for (int i = 0; i < n; i++)
{
if(i % 2 == 0) {
e.push_back(s[i]);
}
else {
o.push_back(s[i]);
}
}
sort(all(e));
sort(all(o));
for (int i = 0; i < n; i+=2)
{
s[i] = e[i/2];
s[i+1] = o[i/2];
}
}
cout << s << endl;
}
return 0;
}
785. Is Graph Bipartite | 90. Subsets II |
1560A - Dislike of Threes | 36. Valid Sudoku |
557. Reverse Words in a String III | 566. Reshape the Matrix |
167. Two Sum II - Input array is sorted | 387. First Unique Character in a String |
383. Ransom Note | 242. Valid Anagram |
141. Linked List Cycle | 21. Merge Two Sorted Lists |
203. Remove Linked List Elements | 733. Flood Fill |
206. Reverse Linked List | 83. Remove Duplicates from Sorted List |
116. Populating Next Right Pointers in Each Node | 145. Binary Tree Postorder Traversal |
94. Binary Tree Inorder Traversal | 101. Symmetric Tree |
77. Combinations | 46. Permutations |
226. Invert Binary Tree | 112. Path Sum |
1556A - A Variety of Operations | 136. Single Number |
169. Majority Element | 119. Pascal's Triangle II |
409. Longest Palindrome | 1574A - Regular Bracket Sequences |