import math

PI = math.pi

EPS = 0.0000000001



a, b, x = list(map(int, input().split()))



def f(a, b, theta):

    # theta = pi/2-theta

    if a * math.tan(theta) <= b:

        return a * a * b - a * a * a * math.tan(theta) / 2

    else:

        return b * b / math.tan(theta) * a / 2





def solve():

    ok = PI / 2

    ng = 0.0

    for _ in range(100000):

        mid = (ok+ng) / 2

        if f(a, b, mid) < x:

            ok = mid

        else:

            ng = mid

    print((ok/PI*180))    



solve()
import math

a, b, x = list(map(int, input().split()))

x /= a

half = a * b // 2

# 引数の角度で入る水の量を計算する

def check(theta):

    if x <= half:

        theta = math.radians(theta)

        return b ** 2 / 2 * math.tan(theta)

    else:

        theta = math.radians(90-theta)

        return a * b - (0.5 * a ** 2 * math.tan(theta))



l, r = 0, 90

for _ in range(10000):

    mid = (l+r) / 2

    if check(mid) > x:

        r = mid

    else:

        l = mid

    

print((90-l))





import math

PI = math.pi
EPS = 0.0000000001
a, b, x = list(map(int, input().split()))


def f(a, b, theta):
    # theta = pi/2-theta
    if a * math.tan(theta) <= b:
        return a * a * b - a * a * a * math.tan(theta) / 2
    else:
        return b * b / math.tan(theta) * a / 2


def solve():
    ok = PI / 2
    ng = 0.0
    for _ in range(100000):
        mid = (ok + ng) / 2
        if f(a, b, mid) < x:
            ok = mid
        else:
            ng = mid
    print((ok / PI * 180))


solve()

import math

a, b, x = list(map(int, input().split()))
x /= a
half = a * b // 2
# 引数の角度で入る水の量を計算する
def check(theta):
    if x <= half:
        theta = math.radians(theta)
        return b**2 / 2 * math.tan(theta)
    else:
        theta = math.radians(90 - theta)
        return a * b - (0.5 * a**2 * math.tan(theta))


l, r = 0, 90
for _ in range(10000):
    mid = (l + r) / 2
    if check(mid) > x:
        r = mid
    else:
        l = mid
print((90 - l))

-PI = math.pi -EPS = 0.0000000001 +x /= a +half = a * b // 2 +# 引数の角度で入る水の量を計算する +def check(theta): +    if x <= half: +        theta = math.radians(theta) +        return b**2 / 2 * math.tan(theta) +    else: +        theta = math.radians(90 - theta) +        return a * b - (0.5 * a**2 * math.tan(theta)) -def f(a, b, theta): -    # theta = pi/2-theta -    if a * math.tan(theta) <= b: -        return a * a * b - a * a * a * math.tan(theta) / 2 +l, r = 0, 90 +for _ in range(10000): +    mid = (l + r) / 2 +    if check(mid) > x: +        r = mid -        return b * b / math.tan(theta) * a / 2 - - -def solve(): -    ok = PI / 2 -    ng = 0.0 -    for _ in range(100000): -        mid = (ok + ng) / 2 -        if f(a, b, mid) < x: -            ok = mid -        else: -            ng = mid -    print((ok / PI * 180)) - - -solve() +        l = mid +print((90 - l))