#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <iostream>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include <string>
#include <algorithm>
#include <stack>
#include <list>
#include <deque>
#define ll long long
using namespace std;
ll n, m, i, j, k, t;
int x[110],y[110];
int dx[110][110], dy[110][110];
double deg[110][110];
double d[110][110];
double pi=3.1415926535897384626;
double p[110];
double max1=-99999, min1=99999, max2=-99999, min2=99999;
int main(){
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>x[i]>>y[i];
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			dx[i][j]=x[j]-x[i];
			dy[i][j]=y[j]-y[i];
		}
	}
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			if(j==i) continue;
			deg[i][j]=atan2(dy[i][j],dx[i][j]);
			}
			deg[i][i]=deg[i][(i%n)+1];
		}
	for(i=1;i<=n;i++){
		max1=-99999; min1=99999; max2=-99999; min2=99999;
		for(j=1;j<=n;j++){
			max1=max(max1,deg[i][j]);
			min1=min(min1,deg[i][j]);
		}
		sort(deg[i]+1,deg[i]+n+1);
		for(j=1;j<=n-1;j++){
			max2=max(max2,deg[i][j+1]-deg[i][j]);
			min2=min(min2,deg[i][j+1]-deg[i][j]);
		}
		if(max1-min1<=pi) p[i]=(pi-(max1-min1))/(2*pi);
		else{
			p[i]=(max2-pi)/(2*pi);
		}
		p[i]=max(p[i],0.0);
		printf("%.15lf\n", p[i]);
	}
	return 0;
}