#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i> T; while(T--){ ll a,b,c,r; cin >> a >> b >> c >> r; ll a1,b1,c1,r1; cin >> a1 >> b1 >> c1 >> r1; ll d=(a-a1)*(a-a1)+(b-b1)*(b-b1)+(c-c1)*(c-c1); if(d>=(r+r1)*(r+r1)){ cout << 0 << endl; } else if(d<=(r-r1)*(r-r1)){ ll R=min(r,r1); double V=4.0/3.0*pi*R*R*R; if(r<=r1) cout << fixed << setprecision(15) << V << endl; } else{ double x=(r*r-r1*r1+d)/(2.0*sqrt(1.0*d)); double v=pi*(double)(2.0*r*r*r/3.0-1.0*r*r*x+x*x*x/3.0); double q=sqrt(1.0*d)-x; double u=(double)(pi/3.0*r1*r1*r1*2.0)-(double)(pi*1.0*r1*r1*q)+(double)(pi*q/3.0*q*q); cout << fixed << setprecision(15) << v+u << endl; } } return 0; }