import math def compute_volume(R, H, D): a = D / (2 * R) if a >= 1.0: return 0.0 # No intersection volume # Pre-calculate frequently used constants two_R_squared = 2 * R * R four_R_squared = 4 * R * R D_squared = D * D D_div_2 = D / 2 def integrand(t): arg = D / (2 * R * t) arg_clipped = max(min(arg, 1.0), -1.0) acos_val = math.acos(arg_clipped) term1 = two_R_squared * (t ** 2) * acos_val sqrt_val = math.sqrt(four_R_squared * t * t - D_squared) term2 = D_div_2 * sqrt_val return term1 - term2 # Use Simpson's rule with a large number of intervals N = 1000000 # Must be even a_t = a b_t = 1.0 h = (b_t - a_t) / N integral = 0.0 for i in range(N + 1): t = a_t + i * h if i == 0 or i == N: weight = 1 elif i % 2 == 1: weight = 4 else: weight = 2 integral += integrand(t) * weight integral *= h / 3 volume = H * integral return volume # Read input R, H, D = map(float, input().split()) # Compute the volume volume = compute_volume(R, H, D) # Output with sufficient precision print("{0:.9f}".format(volume))