import java.util.*

fun main(args: Array<String>) {
  val sc = Scanner(System.`in`)
  val a = sc.nextDouble()
  val b = sc.nextDouble()
  val x = sc.nextInt()

  var ok = Math.PI / 2.0
  var ng = 0.0
  for (i in 1..100000) {
    var mid = (ok + ng) / 2.0
    if (f(a, b, mid) < x) ok = mid
    else ng = mid
  }

  println(ok / Math.PI * 180)

}

private fun f(a: Double, b: Double, theta: Double): Double {
  val eps = 0.0000000001;
  if (theta > Math.PI / 2.0 - eps) {
    return 0.0
  }
  var ret: Double
  if (a * Math.tan(theta) <= b) {
    ret = a * a * b - a * a * a * Math.tan(theta) / 2.0
  } else {
    ret = b * b / Math.tan(theta) * a / 2.0
  }
  return ret
}
