inputs = gets.split
a = inputs[0].to_i
b = inputs[1].to_i
x = inputs[2].to_i

def trapezoid?(x, a, b)
  if x > (a * a * b) / 2
    true
  else
    false
  end
end

def result_of_triangle(x, a, b)
  a_dash = x.to_f * 2 / (b * a)
  c = Math.sqrt((a_dash ** 2) + (b ** 2))
  Math.acos(a_dash/c) / Math::PI * 180
end

def result_of_trapezoid(x, a, b)
  d = ((x.to_f * 2) / (a ** 2)) - b
  c = Math.sqrt ((b - d) ** 2) + (a ** 2)
  Math.acos(a/c) / Math::PI * 180
end

def angle(x, a, b)
  if trapezoid?(x, a, b)
    result_of_trapezoid(x, a, b)
  else
    result_of_triangle(x, a, b)
  end
end

puts angle(x, a, b)