#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
#define FOI(i, A, B) for(i=A; i<=B; i++)
#define FOD(i, A, B) for(i=A; i>=B; i--)
string rem( string S) {
sort( S.begin ( ) , S.end ( ) ) ;
int L = S.length ( ) - 1 , i;
string R = "" ;
FOI( i, 0 , L)
if ( ! isspace ( S[ i] ) )
R + = S[ i] ;
return R;
}
int main( ) {
//freopen("testI.txt", "r", stdin);
//freopen("testO.txt", "w", stdout);
int T;
cin >> T;
string str;
getline( cin , str) ; getline( cin , str) ;
while ( T-- ) {
vector< string > V;
map< string, string> Map;
while ( getline( cin , str) ) {
if ( str == "" )
break ;
V.push_back ( str) ;
Map[ str] = rem( str) ;
}
sort( V.begin ( ) , V.end ( ) ) ;
int SZ = V.size ( ) - 1 ;
int i, j;
FOI( i, 0 , SZ)
FOI( j, i+ 1 , SZ)
if ( Map[ V[ i] ] == Map[ V[ j] ] )
cout << V[ i] << " = " << V[ j] << endl;
if ( T)
cout << endl;
}
return 0 ;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxiaXRzZXQ+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxmdW5jdGlvbmFsPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBGT0koaSwgQSwgQikgZm9yKGk9QTsgaTw9QjsgaSsrKQojZGVmaW5lIEZPRChpLCBBLCBCKSBmb3IoaT1BOyBpPj1COyBpLS0pCgpzdHJpbmcgcmVtKHN0cmluZyBTKXsKCXNvcnQoUy5iZWdpbigpLCBTLmVuZCgpKTsKCWludCBMID0gUy5sZW5ndGgoKSAtIDEsIGk7CglzdHJpbmcgUiA9ICIiOwoJRk9JKGksIDAsIEwpCgkJaWYgKCFpc3NwYWNlKFNbaV0pKQoJCQlSICs9IFNbaV07CglyZXR1cm4gUjsKfQoKaW50IG1haW4oKXsKCS8vZnJlb3BlbigidGVzdEkudHh0IiwgInIiLCBzdGRpbik7CgkvL2ZyZW9wZW4oInRlc3RPLnR4dCIsICJ3Iiwgc3Rkb3V0KTsKCWludCBUOwoJY2luID4+IFQ7CglzdHJpbmcgc3RyOwoJZ2V0bGluZShjaW4sIHN0cik7IGdldGxpbmUoY2luLCBzdHIpOwoJd2hpbGUgKFQtLSl7CgkJdmVjdG9yPCBzdHJpbmcgPiBWOwoJCW1hcDxzdHJpbmcsIHN0cmluZz4gTWFwOwoJCXdoaWxlIChnZXRsaW5lKGNpbiwgc3RyKSl7CgkJCWlmIChzdHIgPT0gIiIpCgkJCQlicmVhazsKCQkJVi5wdXNoX2JhY2soc3RyKTsKCQkJTWFwW3N0cl0gPSByZW0oc3RyKTsKCQl9CgkJc29ydChWLmJlZ2luKCksIFYuZW5kKCkpOwoJCWludCBTWiA9IFYuc2l6ZSgpIC0gMTsKCQlpbnQgaSwgajsKCQlGT0koaSwgMCwgU1opCgkJCUZPSShqLCBpKzEsIFNaKQoJCQkJaWYgKE1hcFtWW2ldXSA9PSBNYXBbVltqXV0pCgkJCQkJY291dCA8PCBWW2ldIDw8ICIgPSAiIDw8IFZbal0gPDwgZW5kbDsKCQlpZiAoVCkKCQkJY291dCA8PCBlbmRsOwoJfQoJcmV0dXJuIDA7Cn0K
stdin
NgoKY2FydGhvcnNlLiFAIyQlXiZhbXA7Kgpob3JzZQpob3JzZSBjYXJ0KiZhbXA7XiUkI0AhLgpvcmNoZXN0cmEKaSBkbyBub3Qga25vdyB1Cm9rIGkgbm93IGRvbnV0Cgp6YWFhYWhhcmkgaXMgaGVyZQpzaSBoYXJpIGVyZSBoIGFhYWF6CmkgbGlrZSB0dW5lcwp0dW5lcyBpIGxpa2UKCmNhcnRob3JzZQpob3JzZQpob3JzZSBjYXJ0CmkgZG8gbm90IGtub3cgdQpvayBpIG5vdyBkb251dApvcmNoZXN0cmEKCmNhcnRob3JzZQpob3JzZQpob3JzZSBjYXJ0CmkgZG8gbm90IGtub3cgdQpvayBpIG5vdyBkb251dApvcmNoZXN0cmEKCmFiYwpkZWYKCmNiYQphYmMK
6
carthorse.!@#$%^&*
horse
horse cart*&^%$#@!.
orchestra
i do not know u
ok i now donut
zaaaahari is here
si hari ere h aaaaz
i like tunes
tunes i like
carthorse
horse
horse cart
i do not know u
ok i now donut
orchestra
carthorse
horse
horse cart
i do not know u
ok i now donut
orchestra
abc
def
cba
abc