#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <typeinfo>
#include <numeric>
#include <functional>
#include <unordered_map>
#include <bitset>
#include <stack>


using namespace std;
using ll = long long;
using ull = unsigned long long;

const ll INF = 1e16;
const ll MOD = 1e9 + 7;

#define REP(i, n) for(ll i = 0; i < n; i++)





int main() {
    int n;
    scanf("%d", &n);
    vector<int> x(n), y(n);
    for(int i = 0; i < n; i++){
        scanf("%d %d", &x[i], &y[i]);
    }
    double theta = 0.0, lim = 2 * acos(-1), MAX = 2e5, d = lim / MAX;
    vector<double> ans(n);
    while(theta < lim){
        double mx = -INF;
        ll max_i = 0;
        REP(i, n){
            double tmp = x[i] * sin(theta) + y[i] * cos(theta);
            if(mx < tmp){
                mx = tmp;
                max_i = i;
            }
        }
        ans[max_i] += 1.0 / MAX;
        theta += d;
    }
    REP(i, n){
        printf("%.7lf\n", ans[i]);
    }
}
