#include #include #include #include using namespace std; double x,y,x2,y2,r1,r2,R1,R2,d1,a1,b1,Sbcd,Sacd,Sabcd,So1,So2,ans; double pi=3.1415926535897932384626433832795; double dist(double x, double y, double x2, double y2) { return sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y)); } double sech(double R1, double R2) { if(R1+R2=d1) {printf("%lf\n",pi*R1*R1-pi*r1*r1-pi*r2*r2+sech(r1,r2)); return 0;} else if(R2-R1>=d1) {printf("%lf\n",pi*R2*R2-pi*r1*r1-pi*r2*r2+sech(r1,r2)); return 0;} else ans=sech(R1,R2); if(R1+R2<=d1) ans=0; if(r1+R2>d1&&R2-r1=d1) { ans-=pi*r1*r1; } if(R1+r2>d1&&R1-r2=d1) { ans-=pi*r2*r2; } if(r1+r2>=d1) ans+=sech(r1,r2); printf("%lf\n",So1+So2-ans); return 0; }