#include <bits/stdc++.h>
#include <stdlib.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vec;
typedef vector<vec> mat;
const ll mod=1000000007;
const ll INF=1e15;
const double PI=3.141592653589793; 
#define REP(i,a,b) for(int i=a;i<b;i++)
#define REP2(i,a,b) for(int i=a;i>=b;i--)
#define rep(i,n) REP(i,0,n)
#define pb push_back

int N; 
double d[101][2];

double solve(int x){
    double L1=PI, R1=2*PI;
    double L2=2*PI, R2=3*PI;
    rep(i,N) if(i!=x){
        double X=d[i][0]-d[x][0], Y=d[i][1]-d[x][1];
        //cout<<X<<' '<<Y<<':'<<x<<' '<<i<<endl;
        if(X==0 && Y>0) {L2=max(3*PI,L2);}
        else if(X==0 && Y<0) {R1=min(PI,R1);}
        else{
            double A=atan(Y/X);
            if(X>0) {L1=max(L1,A+(PI/2)); R1=min(R1,A+(PI*3/2)); L2=max(L2,A+(PI*5/2)); R2=min(R2,A+(PI*7/2));}
            else {L1=max(L1,A+(PI*3/2)); R2=min(R2,A+(PI*5/2));}
        }
    }

    double ret=0;
    if(R1>L1) ret+=(R1-L1); 
    if(R2>L2) ret+=(R2-L2); 
    return (ret/(2*PI));

}
int main(){
    cin>>N;
    rep(i,N) cin>>d[i][0]>>d[i][1];
    rep(i,N) cout<<setprecision(7)<<solve(i)<<endl;
}