# Arup Guha
# 4/19/2025
# Solution to Kattis Problem: Expanding Rods
# https://open.kattis.com/problems/expandingrods

import math

# Returns the answer for the given chord length and curve length.
def solve(chord, scaleFactor):

    # I am treating this as a special case because my binary search
    # doesn't seem to work here.
    if abs(scaleFactor-1) < 1e-6:
        return 0

    '''
    I solve the problem for a chord = 1 and then multiply chord back
    into the answer
    '''

    # I am binary searching the central angle.
    low = 0
    high = math.pi

    for i in range(100):

        # Guess central angle.
        mid = (low+high)/2

        # Corresponding radius via law of cosines.
        r = 1/(math.sqrt(2*(1-math.cos(mid))))

        # For this guess of the angle, this is the curve.
        guessCurve = mid*r

        # If our guess of the curve length is too big, then the real
        # central angle is smaller, the radius is bigger.
        if guessCurve > scaleFactor:
            high = mid

        # Otherwise, do the opposite, angle must be bigger.
        else:
            low = mid

    # Radius of circle.
    r = 1/(math.sqrt(2*(1-math.cos(low))))
    
    # This is the height of the right triangle formed by 2 radii and the chord.
    height = (r*r - .25)**.5

    # This is what we want.
    return chord*(r - height)

# Get first case.
vals = [float(x) for x in input().split()]

while vals[0] > 0:

    # Get input, convert to length and curved length
    length = vals[0]
    n = vals[1]
    C = vals[2]
    curve = (1+n*C)*length
    #print("L = ",length,"curve ",curve)

    # Solve it, get next case.
    print(solve(length, 1+n*C))
    vals = [float(x) for x in input().split()]
