#include<bits/stdc++.h>
using namespace std;
const int MAXN=4000+10;
long long T,n,a[MAXN],b[MAXN],c[MAXN],d[MAXN],ans;
unordered_map<long long,long long>mp;
inline bool id(const char ch) {
return ch>='0'&&ch<='9';
}
inline long long read(void) {
long long s=0,f=1;
char ch=getchar();
while(!id(ch)) {
if(ch=='-') f=-1;
ch=getchar();
}
while(id(ch)) s=(s<<1)+(s<<3)+(ch^48),ch=getchar();
return s*f;
}
inline void work(const int s) {
ans=0;
mp.clear();
n=read();
for(long long i=1;i<=n;++i) a[i]=read(),b[i]=read(),c[i]=read(),d[i]=read();
for(long long i=1;i<=n;++i) for(long long j=1;j<=n;++j) mp[a[i]+b[j]]++;
for(long long i=1;i<=n;++i) for(long long j=1;j<=n;++j) if(mp.count(-c[i]-d[j])) ans+=mp[-c[i]-d[j]];
printf("%lld",ans);
if(s!=0) printf("\n\n");
}
int main() {
T=read();
while(T--) work(T);
return 0;
}
快提交100次了,还是WA(莫非是错在讨厌的格式上?自认为算法本身没有问题啊)。求debug。