#include #include typedef double R; #define lc 3000 R pi = 3.14159265358979323846; typedef struct{R x; R y; R z;} v; R sq(R x){return x*x;} v sp(R s, v vv){return (v){s*vv.x, s*vv.y, s*vv.z};} R det(v x, v y, v z){return x.x * (y.y * z.z - y.z * z.y) + x.y * (y.z * z.x - y.x * z.z) + x.z * (y.x * z.y - y.y * z.x);} v vd(v * a, v * b){return (v){a->x - b->x, a->y - b->y, a->z - b->z};} v va(v a, v b){return (v){a.x + b.x, a.y + b.y, a.z + b.z};} void dcir(v ans[lc+1], v c, v r1, v r2){ R da = 2.*pi/lc; for(int k=0; k