#include #include #include #include using namespace std; typedef complex pt; int main() { int cases;cin>>cases; while(cases--){ double xa,ya,xb,yb;cin>>xa>>ya>>xb>>yb; pt aa(xa,ya),bb(xb,yb); vector > vv; int n;cin>>n; for (int i=0;i>xs>>ys>>xt>>yt; cin>>oi>>li; pt ss(xs,ys),tt(xt,yt); pt a=aa,u=bb-aa; pt b=ss,v=tt-ss; double det=imag(conj(u)*v); if (abs(det)>1e-5){ double sss=-imag(conj(v)*(b-a))/det; double ttt=-imag(conj(u)*(b-a))/det; if (sss>=0&&sss<=1&&ttt>=0&&ttt<=1) vv.push_back(make_pair(abs(a+sss*u-aa),li^oi)); } } sort(vv.begin(),vv.end()); int cnt=0; for (int ii=1;ii