//核心是学长的一个牛逼的hash标记。看到了学长们去年的态度, 自愧不如。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn = 4000 + 5;
struct Hash_map
{
static const int mask = 0x7fffff;
int p[8388608], q[8388608];
void clear()
{
for(int i = 0; i <= mask; ++i) q[i] = 0;
}
int& operator[](int k)
{
int i;
for(i = k & mask; q[i]&&p[i] != k; i = (i+1) & mask);
p[i] = k;
return q[i];
}
};
Hash_map Hash;
int main()
{
int a[maxn], b[maxn], c[maxn], d[maxn];
int T;
cin >> T;
while(T--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
Hash.clear();
int n;
cin >> n;
for(int i = 1; i <= n; ++i) cin >> a[i] >> b[i] >> c[i] >> d[i];
for(int i = 1; i <= n;++i)
for(int j = 1; j <= n; ++j) Hash[a[i]+b[j]]++;
int cnt = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
cnt += Hash[-(c[i]+d[j])];
cout << cnt << endl;
if(T) printf("\n");
}
return 0;
}