#include <iostream>
#include <queue>
using namespace std;
typedef pair<double,double> PII;
typedef pair<double,PII> PII1;
int main()
{
    int t,n;
    cin>>t;
    for  (int q=0;q<t;q++){
        cin>>n;
        long long i=0;
        long long sum=1;
        long long d=0;
        long long total=0;
        double x1,y1,x2,y2;
        double ang;
        priority_queue <PII1> adj;
        for  ( int w=0;w<n;w++){
            cin>>x1>>y1>>x2>>y2;
            if(x2-x1==0){
                ang=90;
            }
            else{
            ang=(y2-y1)/(x2-x1);
            }
            adj.push(make_pair(ang,make_pair(y2-y1,x2-x1)));
            i=i+1;
            
        }
        long long j=0;
        double f1=adj.top().first;
        double f2=adj.top().second.first;
        double f3=adj.top().second.second;
        adj.pop();
        for(int j=1;j<n;j++){
            double e1=adj.top().first;
            double long e2=adj.top().second.first;
            double e3=adj.top().second.second;
            adj.pop();
            if(f1==e1){
                if(f2!=0){
                    if((f2>0 && e2<0) || (f2<0 && e2>0)){
                        d=d+1;
                    }
                    else{
                        sum=sum+1;
                    }
                }
                else{
                    if((f3>0 && e3<0) || (f3<0 && e3>0)){
                        d=d+1;
                    }
                    else{
                        sum=sum+1;
                    }
                }
            }
            else{
                total=total+sum*d;
                sum=1;
                d=0;
                f1=e1;
                f2=e2;
                f3=e3;
            }
        }
        total=total+sum*d;
        cout<<total<<endl;
    }
}
