#include <bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long int ll;
ll nc3(ll n)
{
return (n*(n-1)*(n-2))/6;
}
int main()
{
ll t,n,i,a,e,ii,o,u,j,c=0,ans,term;
map < ll , ll > mp;
map < ll , ll > ::iterator it;
string s;
cin>>t;
while(t--)
{
cin>>n;
mp.clear();
for(j=0;j<n;++j)
{
a=0;e=0;ii=0;o=0;u=0;c=0;
cin>>s;
for(i=0;i<s.size();++i)
{
if(s[i]=='a')
a=1;
if(s[i]=='e')
e=1;
if(s[i]=='i')
ii=1;
if(s[i]=='o')
o=1;
if(s[i]=='u')
u=1;
}
if(a==1) c+=1;
if(e==1) c+=2;
if(ii==1) c+=4;
if(o==1) c+=8;
if(u==1) c+=16;
mp[c]++;
}
ans=0;term=0;
for(i=1;i<32;++i)
{
term=0;
c=0;
for(j=0;j<5;++j)
if(i&(1<<j))
c++;
for(it=mp.begin();it!=mp.end();it++)
if(((it->first)&i)==i)
term+=it->second;
if(c%2==0)
ans-=nc3(term);
else ans+=nc3(term);
}
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcGIgcHVzaF9iYWNrCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKbGwgbmMzKGxsIG4pCiAgICB7CiAgICAgICAgcmV0dXJuIChuKihuLTEpKihuLTIpKS82OwogICAgfQppbnQgbWFpbigpCiAgICB7CiAgICAgICAgbGwgdCxuLGksYSxlLGlpLG8sdSxqLGM9MCxhbnMsdGVybTsKICAgICAgICBtYXAgPCBsbCAsIGxsID4gbXA7CiAgICAgICAgbWFwIDwgbGwgLCBsbCA+IDo6aXRlcmF0b3IgaXQ7CiAgICAgICAgc3RyaW5nIHM7CiAgICAgICAgY2luPj50OwogICAgICAgIHdoaWxlKHQtLSkKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+bjsKICAgICAgICAgICAgbXAuY2xlYXIoKTsKICAgICAgICAgICAgZm9yKGo9MDtqPG47KytqKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhPTA7ZT0wO2lpPTA7bz0wO3U9MDtjPTA7CiAgICAgICAgICAgICAgICBjaW4+PnM7CiAgICAgICAgICAgICAgICBmb3IoaT0wO2k8cy5zaXplKCk7KytpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKHNbaV09PSdhJykKICAgICAgICAgICAgICAgICAgICBhPTE7CiAgICAgICAgICAgICAgICAgICAgaWYoc1tpXT09J2UnKQogICAgICAgICAgICAgICAgICAgIGU9MTsKICAgICAgICAgICAgICAgICAgICBpZihzW2ldPT0naScpCiAgICAgICAgICAgICAgICAgICAgaWk9MTsKICAgICAgICAgICAgICAgICAgICBpZihzW2ldPT0nbycpCiAgICAgICAgICAgICAgICAgICAgbz0xOwogICAgICAgICAgICAgICAgICAgIGlmKHNbaV09PSd1JykKICAgICAgICAgICAgICAgICAgICB1PTE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihhPT0xKSBjKz0xOwogICAgICAgICAgICAgICAgaWYoZT09MSkgYys9MjsKICAgICAgICAgICAgICAgIGlmKGlpPT0xKSBjKz00OwogICAgICAgICAgICAgICAgaWYobz09MSkgYys9ODsKICAgICAgICAgICAgICAgIGlmKHU9PTEpIGMrPTE2OwogICAgICAgICAgICAgICAgbXBbY10rKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBhbnM9MDt0ZXJtPTA7CiAgICAgICAgICAgIGZvcihpPTE7aTwzMjsrK2kpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRlcm09MDsKICAgICAgICAgICAgICAgIGM9MDsKICAgICAgICAgICAgICAgIGZvcihqPTA7ajw1OysraikKICAgICAgICAgICAgICAgIGlmKGkmKDE8PGopKQogICAgICAgICAgICAgICAgYysrOwogICAgICAgICAgICAgICAgZm9yKGl0PW1wLmJlZ2luKCk7aXQhPW1wLmVuZCgpO2l0KyspCiAgICAgICAgICAgICAgICBpZigoKGl0LT5maXJzdCkmaSk9PWkpCiAgICAgICAgICAgICAgICB0ZXJtKz1pdC0+c2Vjb25kOwogICAgICAgICAgICAgICAgaWYoYyUyPT0wKQogICAgICAgICAgICAgICAgYW5zLT1uYzModGVybSk7CiAgICAgICAgICAgICAgICBlbHNlIGFucys9bmMzKHRlcm0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQ8PGFuczw8ZW5kbDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cg==