def main():

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

  vm = a*a*b

  if x==vm:

    return 0

  elif x>vm/2:

    return 90-math.degrees(math.atan(a**3/(2*(vm-x))))

  else:

    return 90-math.degrees(math.atan(2*x/(a*b*b)))



if __name__ == '__main__':

  import math

  print((main()))
def main():

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

  vm = a*a*b

  if x>vm/2:

    return math.degrees(math.atan(2*(vm-x)/a**3))

  else:

    return math.degrees(math.atan(a*b*b/(2*x)))

if __name__ == '__main__':

  import math

  print((main()))
def main():
    a, b, x = list(map(int, input().split()))
    vm = a * a * b
    if x == vm:
        return 0
    elif x > vm / 2:
        return 90 - math.degrees(math.atan(a**3 / (2 * (vm - x))))
    else:
        return 90 - math.degrees(math.atan(2 * x / (a * b * b)))


if __name__ == "__main__":
    import math

    print((main()))

def main():
    a, b, x = list(map(int, input().split()))
    vm = a * a * b
    if x > vm / 2:
        return math.degrees(math.atan(2 * (vm - x) / a**3))
    else:
        return math.degrees(math.atan(a * b * b / (2 * x)))


if __name__ == "__main__":
    import math

    print((main()))

-    if x == vm: -        return 0 -    elif x > vm / 2: -        return 90 - math.degrees(math.atan(a**3 / (2 * (vm - x)))) +    if x > vm / 2: +        return math.degrees(math.atan(2 * (vm - x) / a**3)) -        return 90 - math.degrees(math.atan(2 * x / (a * b * b))) +        return math.degrees(math.atan(a * b * b / (2 * x)))