#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((r+r1)*(r+r1)<=d){ cout << 0 << endl; } else if(d<=(r-r1)*(r-r1)){ if(r<=r1) cout << fixed << setprecision(12) << (double)(4.0/3.0*pi*r*r*r) << endl; else cout << fixed << setprecision(12) << (double)(4.0/3.0*pi*r1*r1*r1) << endl; } else{ double x=(r*r-r1*r1+d)/(2.0*sqrt(1.0*d)); double v=pi*(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=pi/3.0*r1*r1*r1*2.0-pi*1.0*r1*r1*q+pi*q/3.0*q*q; cout << fixed << setprecision(12) << v+u << endl; } } return 0; }