import numpy as np



'''実はarctanは実装されていた...

def search_arctan(tan):

    low = 0

    high = np.radians(90)

    while (high-low>=10**(-12)):

        mid = (low+high)/2 

        if np.tan(mid)<=tan:

            low = mid

        else:

            high = mid

    return np.rad2deg(mid)

'''

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





l = x/(a*a)



if l<=b/2.0:

    ans = np.rad2deg(np.arctan(b**2.0/(2.0*a*l)))

else:

    ans = np.rad2deg(np.arctan(2.0*(b-l)/a))



print(ans)
import numpy as np



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





l = x/(a*a)



if l<=b/2.0:

    ans = np.rad2deg(np.arctan(b**2.0/(2.0*a*l)))

else:

    ans = np.rad2deg(np.arctan(2.0*(b-l)/a))



print(ans)
import numpy as np

"""実はarctanは実装されていた...
def search_arctan(tan):
    low = 0
    high = np.radians(90)
    while (high-low>=10**(-12)):
        mid = (low+high)/2 
        if np.tan(mid)<=tan:
            low = mid
        else:
            high = mid
    return np.rad2deg(mid)
"""
a, b, x = list(map(int, input().split()))
l = x / (a * a)
if l <= b / 2.0:
    ans = np.rad2deg(np.arctan(b**2.0 / (2.0 * a * l)))
else:
    ans = np.rad2deg(np.arctan(2.0 * (b - l) / a))
print(ans)

import numpy as np

a, b, x = list(map(int, input().split()))
l = x / (a * a)
if l <= b / 2.0:
    ans = np.rad2deg(np.arctan(b**2.0 / (2.0 * a * l)))
else:
    ans = np.rad2deg(np.arctan(2.0 * (b - l) / a))
print(ans)

-"""実はarctanは実装されていた... -def search_arctan(tan): -    low = 0 -    high = np.radians(90) -    while (high-low>=10**(-12)): -        mid = (low+high)/2 -        if np.tan(mid)<=tan: -            low = mid -        else: -            high = mid -    return np.rad2deg(mid) -"""