#include <stdio.h>
#include <math.h>
#define pi acos(-1.0);
float d,x1,a,r1,x2,y2,r2,s;
int main () {
scanf("%f","%f","%f","%f","%f","%f",&x1,&a,&r1,&x2,&y2,&r2);
d=sqrt((x1-x2)*(x1-x2)+(a-y2)*(a-y2));
if(d>=(r1+r2)){
s=0;
}
if(d<=(r2-r1)){
if(r1<r2)
s=pi*r1*r1;
else
float temp;
temp=r1;
r1=r2;
r2=temp;
s=pi*r1*r1;
}
if(r2-r1<d<r2+r1){
float ang1=acos((r1*r1+d*d-r2*r2)/(2*r1*d));
float ang2=acos((r2*r2+d*d-r1*r1)/(2*r2*d));
s=ang1*r1*r1 + ang2*r2*r2 - r1*d*sin(ang1);
}
printf("两圆的相交面积为:%f\n",s);
}