#include <bits/stdc++.h>
using namespace std;
#define int long long
const int oo = 1e3 + 3;
int t, n, k;
int a[oo];
map<int, int> mp, visited;
int C2(int n) {
return n * (n - 1) / 2;
}
int next(int n) {
int res = 0;
for (; n != 0; n /= 10) {
int x = n % 10;
res += x * x;
}
return res;
}
void solve() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int j = 1; j <= 1000; j++)
for (int i = 1; i <= n; i++)
a[i] = next(a[i]);
map<int, int> cnt;
for (int i = 1; i <= n; i++)
cnt[a[i]]++;
int res = 0;
for (auto x : cnt)
res += C2(x.second);
cout << res << '\n';
}
int32_t main() {
cin >> t;
while(t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKCmNvbnN0IGludCBvbyA9IDFlMyArIDM7CgppbnQgdCwgbiwgazsKaW50IGFbb29dOwptYXA8aW50LCBpbnQ+IG1wLCB2aXNpdGVkOwoKaW50IEMyKGludCBuKSB7CglyZXR1cm4gbiAqIChuIC0gMSkgLyAyOwp9CgppbnQgbmV4dChpbnQgbikgewoJaW50IHJlcyA9IDA7Cglmb3IgKDsgbiAhPSAwOyBuIC89IDEwKSB7CgkJaW50IHggPSBuICUgMTA7CgkJcmVzICs9IHggKiB4OwoJfQoJcmV0dXJuIHJlczsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIGNpbiA+PiBuOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjaW4gPj4gYVtpXTsKCiAgICBmb3IgKGludCBqID0gMTsgaiA8PSAxMDAwOyBqKyspCiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgICAgICAgICBhW2ldID0gbmV4dChhW2ldKTsKCiAgICBtYXA8aW50LCBpbnQ+IGNudDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjbnRbYVtpXV0rKzsKCiAgICBpbnQgcmVzID0gMDsKICAgIGZvciAoYXV0byB4IDogY250KQogICAgICAgIHJlcyArPSBDMih4LnNlY29uZCk7CgogICAgY291dCA8PCByZXMgPDwgJ1xuJzsKfQoKaW50MzJfdCBtYWluKCkgewoKICAgIGNpbiA+PiB0OwogICAgCiAgICB3aGlsZSh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQ==