Here is my code it is showing WA idk why and on which case
/*
///////// ///// //// ///
// // // // // // //
////// // // // // //
// // /// // // //
//////// // // // //
*/
#include<bits/stdc++.h>
#include<assert.h>
using namespace std;
//typedef long long int ll;
typedef unsigned long long ll;
#define Fast ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(0);
#define fo(i,s,n) for(int i=s;i<n;i++)
#define mod 1000000007
#define umap unordered_map
#define pb(x) push_back(x)
#define all(x) (x).begin(), (x).end()
#define lb() lower_bound()
#define ub() upper_bound()
#define PI 3.14159265
#define S second
#define F first
//fill(all(vec), 1);to fill vector with a number
//if (S.count(key)) returns 1 if set or map contain key else return 0
ll nCr(ll n,ll r)
{
r = min(r,n-r);
if(r<0)
return 0;
if(r == 0)
return 1;
ll ans = 1;
for(ll i = 1;i<=r;i++)
{
ans = ans*(n-i+1)/i;
}
return ans;
}
ll logn(int n, int r)
{
return (n > r - 1) ? 1 + logn(n / r, r) : 0;
}
ll power(ll a,ll b) {
if(b == 1) return a;
if(b == 0) return 1;
ll m1 = power(a,b/2);
if(b%2) return m1*m1*a;
return m1*m1;
}
bool isprime(ll a)
{
if(a<=1)
return false;
if(a==2||a==3)
return true;
if(a%2==0||a%3==0)
return false;
for(ll i=5;i*i<=a;i=i+6)
{
if(a%i==0||a%(i+2)==0)
return false;
}
return true;
}
/*********************//*********************///*********************///*********************//
ll t;
struct cir
{
ll x,y,r;
};
bool com(cir a,cir b)
{
return a.r>b.r;
}
void solve()
{
ll n;
cin>>n;
cir a[n];
map<ll,map<ll,map<ll,ll>>>mp;
map<ll,map<ll,map<ll,ll>>>tr;
fo(i,0,n)
{
cin>>a[i].x>>a[i].y>>a[i].r;
mp[a[i].r*a[i].r*4][a[i].x][a[i].y]=i+1;
}
ll ans=0;
sort(a,a+n,com);
fo(i,0,n)
{
fo(j,i+1,n)
{
if(a[i].x==a[j].x&&a[i].y==a[j].y)
continue;
ll p=(a[i].x+a[j].x)/2;
ll q=(a[i].y+a[j].y)/2;
ll s=(a[i].r*a[i].r+a[j].r*a[j].r);
if(mp[s][p][q]>0&&!tr[i][j][mp[s][p][q]-1])
{
ans++;
tr[i][j][mp[s][p][q]-1]=1;
}
}
}
cout<<ans<<endl;
}
int main()
{
Fast
/*
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
*/
cin>>t;
for(ll i=1;i<=t;i++)
{
solve();
}
return 0;
}