//on the name of Allah:)
#include<bits/stdc++.h>
#define int long long
#define Endl "\n"
#define pi 2 * acos(0.0)
#define mod 1000000007
#define Mul(a,b) (a%mod * b%mod)%mod
#define Add(a,b) (a%mod + b%mod)%mod
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(),(x).rend()
#define gcd(x, y) (__gcd(x, y))
#define lcm(x, y) ((x/gcd(x, y))*y)
#define faster cin.tie(NULL), cout.tie(NULL);
#define TC int t ; cin>>t ; for(int i=1;i<=t;i++)
const int N = 1e6 + 7;
using namespace std;
void s()
{
int n,k;
cin>>n>>k;
vector<string>v(n);
for(int i=0;i<n;i++)cin>>v[i];
while (k > 0 && v.size() > 1) {
string mx = "";
int idx = 0;
for (int i = 0; i < n - 1; i++) {
string c1 = v[i] + v[i + 1];
string c2 = v[i + 1] +v[i];
if (c1 > c2 && c1 > mx) {
mx = c1;
idx = i;
} else if (c2 > c1 && c2 > mx) {
mx = c2;
idx = i + 1;
}
}
if (idx > 0 && (v[idx - 1] + v[idx]) == mx) {
v[idx - 1] = mx;
v.erase(v.begin() + idx);
} else {
v[idx] = mx;
v.erase(v.begin() + idx+1);
}
--n;
--k;
}
string ans=*max_element(all(v));
cout<<ans<<endl;
}
int32_t main()
{
ios::sync_with_stdio(false);
//faster
TC
{
//cout<<"Case "<<i<<": ";
s();
}
}