#include using namespace std; using D=long double; template D romberg_integration(int m,D a,D b,F f){ assert(m<=24); std::vector>data(m,vector(m)); std::vectorh(m); h[0]=b-a; data[0][0]=(f(a)+f(b))*(b-a)/2; for(int i=1;i>r>>h>>d; auto f=[&](D z)->D{ D r2=r*(h-z)/h; D t=acos(d/2/r2); if(r2*r2-d*d/4<0)return 0; return r2*r2*t-d*sqrt(r2*r2-d*d/4)/2; }; cout<