#include <bits/stdc++.h>
using namespace std;
void print(vector<string> &vetor){
for(int i=0; i<vetor.size(); i++){
if(i!=0) cout << " ";
cout << vetor[i];
}
cout << endl;
}
int main () {
int n;
cin >> n;
vector<string> vetor;
for(int i=0; i<n; i++){
string aux;
getline(cin, aux);
cout << aux << endl;
vetor.push_back(aux);
}
for(int t = 0; t<n; t++){
string parse;
vector<string> aux;
for(int i=0; i<vetor[t].size(); i++){
if(vetor[t][i]==' '){
swap(parse[parse.size()-1], parse[0]);
if(parse[parse.size()-1]>='A' && parse[parse.size()-1]<='Z'){
parse[parse.size()-1] = parse[parse.size()-1]+('a'-'A');
parse[0] = parse[0] - ('a'-'A');
}
parse+='ay';
aux.push_back(parse);
parse.clear();
continue;
}
parse+=vetor[t][i];
}
if(parse.size()>0){
swap(parse[parse.size()-1], parse[0]);
if(parse[parse.size()-1]>='A' && parse[parse.size()-1]<='Z'){
parse[parse.size()-1] = parse[parse.size()-1]+('a'-'A');
parse[0] = parse[0] - ('a'-'A');
}
aux.push_back(parse);
parse.clear();
}
print(aux);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludCh2ZWN0b3I8c3RyaW5nPiAmdmV0b3IpewoJZm9yKGludCBpPTA7IGk8dmV0b3Iuc2l6ZSgpOyBpKyspewoJCWlmKGkhPTApIGNvdXQgPDwgIiAiOwoJCWNvdXQgPDwgdmV0b3JbaV07Cgl9Cgljb3V0IDw8IGVuZGw7Cn0KCmludCBtYWluICgpIHsKCWludCBuOwoJY2luID4+IG47Cgl2ZWN0b3I8c3RyaW5nPiB2ZXRvcjsKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJc3RyaW5nIGF1eDsKCQlnZXRsaW5lKGNpbiwgYXV4KTsKCQljb3V0IDw8IGF1eCA8PCBlbmRsOwoJCXZldG9yLnB1c2hfYmFjayhhdXgpOwoJfQoJZm9yKGludCB0ID0gMDsgdDxuOyB0KyspewoJCXN0cmluZyBwYXJzZTsKCQl2ZWN0b3I8c3RyaW5nPiBhdXg7CgkJZm9yKGludCBpPTA7IGk8dmV0b3JbdF0uc2l6ZSgpOyBpKyspewoJCQlpZih2ZXRvclt0XVtpXT09JyAnKXsKCQkJCXN3YXAocGFyc2VbcGFyc2Uuc2l6ZSgpLTFdLCBwYXJzZVswXSk7CgkJCQlpZihwYXJzZVtwYXJzZS5zaXplKCktMV0+PSdBJyAmJiBwYXJzZVtwYXJzZS5zaXplKCktMV08PSdaJyl7CgkJCQkJcGFyc2VbcGFyc2Uuc2l6ZSgpLTFdID0gcGFyc2VbcGFyc2Uuc2l6ZSgpLTFdKygnYSctJ0EnKTsKCQkJCQlwYXJzZVswXSA9IHBhcnNlWzBdIC0gKCdhJy0nQScpOwoJCQkJfQoJCQkJcGFyc2UrPSdheSc7CgkJCQlhdXgucHVzaF9iYWNrKHBhcnNlKTsKCQkJCXBhcnNlLmNsZWFyKCk7CgkJCQljb250aW51ZTsKCQkJfQoJCQlwYXJzZSs9dmV0b3JbdF1baV07CgkJfQoJCWlmKHBhcnNlLnNpemUoKT4wKXsKCQkJc3dhcChwYXJzZVtwYXJzZS5zaXplKCktMV0sIHBhcnNlWzBdKTsKCQkJaWYocGFyc2VbcGFyc2Uuc2l6ZSgpLTFdPj0nQScgJiYgcGFyc2VbcGFyc2Uuc2l6ZSgpLTFdPD0nWicpewoJCQkJcGFyc2VbcGFyc2Uuc2l6ZSgpLTFdID0gcGFyc2VbcGFyc2Uuc2l6ZSgpLTFdKygnYSctJ0EnKTsKCQkJCXBhcnNlWzBdID0gcGFyc2VbMF0gLSAoJ2EnLSdBJyk7CgkJCX0KCQkJYXV4LnB1c2hfYmFjayhwYXJzZSk7CgkJCXBhcnNlLmNsZWFyKCk7CgkJfQoJCXByaW50KGF1eCk7Cgl9CglyZXR1cm4gMDsKfQ==