#include using namespace std; struct Point { long long x,y,t; Point(){}; Point(long long xi, long long yi, long long ti) { x = xi; y = yi; t = ti; } }; const int maxn = 5*1e4+5; int n,m; Point a[maxn],b[maxn]; vector >v; vectorans; bool cmp(Point p1, Point p2) { if(p1.x+p1.yp2.x+p2.y) return false; return p1.t>p2.t; } void read() { cin >> n >> m; Point nb; for(int i=1;i<=n;i++) { cin >> nb.x >> nb.y >> nb.t; a[i] = nb; } for(int i=1;i<=m;i++) { cin >> nb.x >> nb.y >> nb.t; b[i] = nb; } sort(a+1,a+n+1,cmp); sort(b+1,b+n+1,cmp); } bool check(int idx) { long long k = idx; double res; for(int i=1;i<=m;i++) { if(k>b[i].t) k = (k*k-b[i].t*b[i].t); else if(kp; for(int i=2;i<=n;i++) { p.first = a[i]; p.second = a[1]; v.push_back(p); if(a[1].t+a[i].t