#include <iostream>
#include <map>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
map<int, int> mymap;
int n;
cin>>n;
for(int i=0;i<n;i++) {
string s;
cin>>s;
int bm=0;
for(int j=0;j<s.length();j++)
bm |= (1<<(s[j]-'a'));
mymap[bm]++;
}
int complete = (1<<('a'-'a')) | (1<<('e'-'a')) | (1<<('i'-'a')) | (1<<('o'-'a')) | (1<<('u'-'a'));
int count = 0;
int comparisons = 0;
for (auto i=mymap.begin(); i!=mymap.end(); i++) {
auto j=i;
for(++j;j!=mymap.end();j++) {
comparisons++;
if((i->first | j->first)==complete) {
count += i->second * j->second;
cout << i->first <<" "<<j->first<<" :"<<i->second<<" "<<j->second<<endl;
}
}
}
auto special = mymap.find(complete);
if (special!=mymap.end()) {
count += special->second * (special->second -1) / 2;
}
cout<<"Result: "<<count<<" (found in "<<comparisons<<" comparisons)\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgaW50IHQ7CiAgY2luPj50OwogIHdoaWxlKHQtLSkKICB7CiAgIAltYXA8aW50LCBpbnQ+IG15bWFwOyAKICAgIGludCBuOwogICAgY2luPj5uOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICBzdHJpbmcgczsKICAgICAgICBjaW4+PnM7CiAgICAgICAgaW50IGJtPTA7CiAgICAgICAgZm9yKGludCBqPTA7ajxzLmxlbmd0aCgpO2orKykKICAgICAgICAgICAgYm0gfD0gKDE8PChzW2pdLSdhJykpOwogICAgICAgIG15bWFwW2JtXSsrOwogICAgfQogICAgaW50IGNvbXBsZXRlID0gKDE8PCgnYSctJ2EnKSkgfCAoMTw8KCdlJy0nYScpKSB8ICgxPDwoJ2knLSdhJykpIHwgKDE8PCgnbyctJ2EnKSkgfCAoMTw8KCd1Jy0nYScpKTsKICAgIGludCBjb3VudCA9IDA7CiAgICBpbnQgY29tcGFyaXNvbnMgPSAwOyAKICAgIGZvciAoYXV0byBpPW15bWFwLmJlZ2luKCk7IGkhPW15bWFwLmVuZCgpOyBpKyspICB7CiAgICAJYXV0byBqPWk7IAogICAgICAgIGZvcigrK2o7aiE9bXltYXAuZW5kKCk7aisrKSB7CiAgICAgICAgCWNvbXBhcmlzb25zKys7IAogICAgICAgIAlpZigoaS0+Zmlyc3QgfCBqLT5maXJzdCk9PWNvbXBsZXRlKSB7CiAgICAgICAgCSAgICBjb3VudCArPSBpLT5zZWNvbmQgKiBqLT5zZWNvbmQ7IAogICAgICAgIAkgICAgY291dCA8PCBpLT5maXJzdCA8PCIgIjw8ai0+Zmlyc3Q8PCIgOiI8PGktPnNlY29uZDw8IiAiPDxqLT5zZWNvbmQ8PGVuZGw7CiAgICAgICAgCX0KICAgICAgICB9CiAgICB9CiAgICBhdXRvIHNwZWNpYWwgPSBteW1hcC5maW5kKGNvbXBsZXRlKTsgCiAgICBpZiAoc3BlY2lhbCE9bXltYXAuZW5kKCkpIHsKICAgICAgICBjb3VudCArPSBzcGVjaWFsLT5zZWNvbmQgKiAoc3BlY2lhbC0+c2Vjb25kIC0xKSAvIDI7IAogICAgfQogICAgY291dDw8IlJlc3VsdDogIjw8Y291bnQ8PCIgKGZvdW5kIGluICI8PGNvbXBhcmlzb25zPDwiIGNvbXBhcmlzb25zKVxuIjsKICB9CiAgcmV0dXJuIDA7Cn0K
NAozCmFlaW91CmFlaW91YWVpaW9vdXUKYWFhZWV1dXVpaW9vCjMKYWFvb2FvYW9vYQp1aWllaWVpaWVpZXV1dQphZWlvb29lZWlpYWllaQo2CmFhb29hb2Fvb2EKdWlpZWllaWllaWV1dXUKYWVpb29vZWVpaWFpZWkKYW9hCnV1dXVpaWlpZWVlZQphYW9vYWFvb29vb29vCjE4CmFhb29hb2Fvb2EKdWlpZWllaWllZWFhYWVpZXV1dQphZWlvb29lZWlpYWllaQphb2lpaWlhCnV1dXVpaWlpZWVlZQphYW9vYWFvb29vb29vCmFhb29hb2Fvb2EKdWlpZW9vaWVpaWVpZW9vdXV1CmFlaW9vb2VlaWlhaWVpCmFvYXV1dXV1CnV1dXVpaWlpZWVlZQphYW9vYWFvb29vb29vCmFhb2VlZW9hb2Fvb2EKdWlpZWllZWVlZWVlZWVpaWVpZXV1dQphZWlvb29lZWlpZWVlZWVlZWFpZWkKYW9hYWFhYWFhZWVhCmlpaWllZWVlCmFhb29hYW9vb29vCgo=
4
3
aeiou
aeiouaeiioouu
aaaeeuuuiioo
3
aaooaoaooa
uiieieiieieuuu
aeioooeeiiaiei
6
aaooaoaooa
uiieieiieieuuu
aeioooeeiiaiei
aoa
uuuuiiiieeee
aaooaaooooooo
18
aaooaoaooa
uiieieiieeaaaeieuuu
aeioooeeiiaiei
aoiiiia
uuuuiiiieeee
aaooaaooooooo
aaooaoaooa
uiieooieiieieoouuu
aeioooeeiiaiei
aoauuuuu
uuuuiiiieeee
aaooaaooooooo
aaoeeeoaoaooa
uiieieeeeeeeeeiieieuuu
aeioooeeiieeeeeeeaiei
aoaaaaaaaeea
iiiieeee
aaooaaooooo