#include #include #include #include #include using namespace std; typedef double db; const db eps=1e-7; const int MAXN=1005; const int MAXM=100005; const int INF=0x3f3f3f3f; struct Edge { int to,next,cap,flow; }edge[MAXM]; int tol,head[MAXN]; int gap[MAXN],dep[MAXN],pre[MAXN],cur[MAXN]; void init() { tol=0; memset(head,-1,sizeof(head)); } void addedge(int u,int v,int w,int rw=0) { edge[tol].to=v; edge[tol].cap=w; edge[tol].next=head[u]; edge[tol].flow=0; head[u]=tol++; edge[tol].to=u; edge[tol].cap=rw; edge[tol].next=head[v]; edge[tol].flow=0; head[v]=tol++; } int sap(int st,int ed,int N) { memset(gap,0,sizeof(gap)); memset(dep,0,sizeof(dep)); memcpy(cur,head,sizeof(head)); int u=st; pre[u]=-1; gap[0]=N; int ans=0; while(dep[st]edge[i].cap-edge[i].flow) Min=edge[i].cap-edge[i].flow; for(int i=pre[u];i!=-1;i=pre[edge[i^1].to]) { edge[i].flow+=Min; edge[i^1].flow-=Min; } u=st; ans+=Min; continue; } bool flag=0; int v; for(int i=cur[u];i!=-1;i=edge[i].next) { v=edge[i].to; if(edge[i].cap-edge[i].flow && dep[v]+1==dep[u]) { flag=1; cur[u]=pre[v]=i; break; } } if(flag) { u=v; continue; } int Min=N; for(int i=head[u];i!=-1;i=edge[i].next) if(edge[i].cap-edge[i].flow && dep[edge[i].to]=0 && t<=1) { result=L.s+(L.e-L.s)*t; } else { if((P-L.s).len()<(P-L.e).len())result=L.s; else result=L.e; } return result; } struct Circle { Point o; db r; Circle(){} Circle(Point _o,db _r):o(_o),r(_r){} }c[205],tr[205]; int v[205]; vector >e; int main() { int T; scanf("%d",&T); while(T--) { int n,m,k; scanf("%d%d%d",&n,&m,&k); int Max=0; for(int i=1;i<=n;i++) scanf("%lf%lf%lf%d",&c[i].o.x,&c[i].o.y,&c[i].r,&v[i]); for(int i=1;i<=m;i++) scanf("%lf%lf",&p[i].x,&p[i].y); for(int i=1;i<=k;i++) scanf("%lf%lf%lf",&tr[i].o.x,&tr[i].o.y,&tr[i].r); for(int i=1;i<=n;i++) Max=max(Max,v[i]); e.clear(); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if((c[i].o-p[j]).len()>1; init(); for(int i=1;i<=n;i++) addedge(0,i,tt/v[i]+1); for(int i=0;i<(int)e.size();i++) addedge(e[i].first,e[i].second,1); for(int i=1;i<=m;i++) addedge(n+i,n+m+1,1); if(sap(0,n+m+1,n+m+2)