from collections import Counter

import numpy as np





def part(s, t):

    a = np.linspace(s, t, 1e5, endpoint=False)

    for i, v in list(Counter(np.argmax(np.dot(pts, [np.sin(a), np.cos(a)]), axis=0)).items()):

        ans[i] += v





n = int(eval(input()))

pts = [list(map(int, input().split())) for _ in range(n)]

ans = np.zeros(n)

part(0, np.pi)

part(np.pi, 2 * np.pi)

ans /= 2e5

print(('\n'.join(map(str, ans))))

from collections import Counter



import numpy as np





def solve(n, pts):

    ans = [0] * n



    div = 200000

    a = np.linspace(0, 2 * np.pi, div, endpoint=False)

    b = np.array([np.cos(a), np.sin(a)], dtype=np.float32)

    for i, v in list(Counter(np.argmax(np.dot(pts, b), axis=0)).items()):

        ans[i] = v / div

    return ans





n = int(eval(input()))

pts = np.array([list(map(int, input().split())) for _ in range(n)], dtype=np.float32)

print(('\n'.join(map(str, solve(n, pts)))))

from collections import Counter
import numpy as np


def part(s, t):
    a = np.linspace(s, t, 1e5, endpoint=False)
    for i, v in list(
        Counter(np.argmax(np.dot(pts, [np.sin(a), np.cos(a)]), axis=0)).items()
    ):
        ans[i] += v


n = int(eval(input()))
pts = [list(map(int, input().split())) for _ in range(n)]
ans = np.zeros(n)
part(0, np.pi)
part(np.pi, 2 * np.pi)
ans /= 2e5
print(("\n".join(map(str, ans))))

from collections import Counter
import numpy as np


def solve(n, pts):
    ans = [0] * n
    div = 200000
    a = np.linspace(0, 2 * np.pi, div, endpoint=False)
    b = np.array([np.cos(a), np.sin(a)], dtype=np.float32)
    for i, v in list(Counter(np.argmax(np.dot(pts, b), axis=0)).items()):
        ans[i] = v / div
    return ans


n = int(eval(input()))
pts = np.array([list(map(int, input().split())) for _ in range(n)], dtype=np.float32)
print(("\n".join(map(str, solve(n, pts)))))

-def part(s, t): -    a = np.linspace(s, t, 1e5, endpoint=False) -    for i, v in list( -        Counter(np.argmax(np.dot(pts, [np.sin(a), np.cos(a)]), axis=0)).items() -    ): -        ans[i] += v +def solve(n, pts): +    ans = [0] * n +    div = 200000 +    a = np.linspace(0, 2 * np.pi, div, endpoint=False) +    b = np.array([np.cos(a), np.sin(a)], dtype=np.float32) +    for i, v in list(Counter(np.argmax(np.dot(pts, b), axis=0)).items()): +        ans[i] = v / div +    return ans -pts = [list(map(int, input().split())) for _ in range(n)] -ans = np.zeros(n) -part(0, np.pi) -part(np.pi, 2 * np.pi) -ans /= 2e5 -print(("\n".join(map(str, ans)))) +pts = np.array([list(map(int, input().split())) for _ in range(n)], dtype=np.float32) +print(("\n".join(map(str, solve(n, pts)))))