#include<iostream> #include <string> #include<bits/stdc++.h> using namespace std; string chartostr(char* p) { string s=""; while(*p!='\0') { s=s+*p; p++; } transform(s.begin(), s.end(), s.begin(), ::tolower); //cout<<s; return s; } vector<string> inputs(string s) { //cout<<s; vector<string> v; char a[1000000]; strcpy(a,s.c_str()); char* token=strtok(a," "); while(token!=NULL) { //chartostr(token); string sh=chartostr(token); v.push_back(sh); token=strtok(NULL," "); //cout<<sh; } return v; } int main() { int t,z; string inp; getline(cin,inp); char b[12]; strcpy(b,inp.c_str()); t=(int)atoi(b); for(z=0;z<t;z++) {string inu; while(inu.length()==0) getline(cin,inu); //cout<<inp; vector<string> stri=inputs(inu); vector<int>inte; vector<string>str; auto i=stri.begin(); int k=0; for(i=stri.begin();i!=stri.end();i++) { if(k%2==0) { str.push_back(*i); } else { char a[100000]; string yo=*i; strcpy(a,yo.c_str()); int f=atoi(a); inte.push_back(f); } k++; //cout<<k; } //cout<<"yooooo"; sort(str.begin(),str.end()); sort(inte.begin(),inte.end()); int j,z=(int)inte.size(); int it=max(inte.size(),str.size()); for(j=0;j<it;j++) { //str[j].erase(remove(str[j].begin(), str[j].end(), ' '), str[j].end()); if(j<str.size()) cout<<str[j]<<" "; if(j<inte.size()) cout<<inte[j]<<" "; } cout<<"\n"; } }