#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
    int n;
    cin >> n;
    vector<double> x(n), y(n);
    for (int i = 0; i < n; i++) {
        cin >> x[i] >> y[i];
    }
    for (int i = 0; i < n; i++) {
        double l0, r0, l1, r1;
        l0 = l1 = -M_PI, r0 = r1 = M_PI;
        for (int j = 0; j < n; j++) {
            if (i == j) continue;
            double angle = atan2(y[j] - y[i], x[j] - x[i]);
            if (x[j] > x[i]) {
                r0 = min(r0, angle - M_PI / 2);
                l1 = max(l1, angle + M_PI / 2);
            } else if (y[j] < y[i]) {
                l0 = max(l0, angle + M_PI / 2);
                l1 = max(l1, angle + M_PI / 2);
                r0 = min(r0, angle + 3 * M_PI / 2);
                r1 = min(r1, angle + 3 * M_PI / 2);
            } else {
                l0 = max(l0, angle - 3 * M_PI / 2);
                l1 = max(l1, angle - 3 * M_PI / 2);
                r0 = min(r0, angle - M_PI / 2);
                r1 = min(r1, angle - M_PI / 2);
            }
        }
        double ans = (max(0.0, r0 - l0) + max(0.0, r1 - l1)) / (2 * M_PI);
        if (l0 == l1 && r0 == r1) ans /= 2;
        cout << setprecision(10) << ans << endl;
    }
    return 0;
}