#include <iostream> #include <cmath> using namespace std; const double r = acos(0.5) ; int a1, b1, c1, d1; int a2, b2, c2, d2; inline int sq(const int x) {return x * x;} inline int cu(const int x) {return x*x *x;} int main ( ) { cout.flags(ios::fixed) ; cout.precision(4) ; cin >> a1 >> b1 >> c1 >> d1; cin >> a2 >> b2 >> c2 >> d2; int t= sq (a1-a2) +sq (b1-b2) +sq (c1-c2) ; if (t <= sq(d2-d1)) cout << cu(min(d1,d2))*r*4; else if (t >=sq (d2+d1)) cout << 0; else { double x=d1-(sq (d1) - sq (d2) +t) / sqrt (t) / 2; double y=d2-(sq (d2) - sq (d1) +t) / sqrt (t) /2; cout << (x*x* (3*d1-x) +y*y* (3*d2-y)) *r; } cout << endl; return 0; }