#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<cmath>
using namespace std;
const double pi=acos(-1);
int n;
struct pt
{
	double x,y,slop;
}a[110],b[110];
int read()
{
	int x=0,f=1;char ch=getchar();
	for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f=-1;
	for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
	return x*f;
}
bool cmp(pt p,pt q){return p.slop<q.slop;}
int main()
{
	n=read();
	for(int i=1;i<=n;i++)
		a[i].x=read(),a[i].y=read();
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			b[j]=a[j];
		swap(b[i],b[1]);
		for(int j=2;j<=n;j++)
		{
			b[j].slop=atan2(b[j].y-b[1].y,b[j].x-b[1].x)+pi/2;
			if(b[j].slop<0) b[j].slop+=pi*2;
		}
		sort(b+2,b+n+1,cmp);
		double ans=0;
		for(int j=3;j<=n;j++)	
			ans=max(ans,b[j].slop-b[j-1].slop-pi);
		ans=max(ans,b[2].slop-b[n].slop+pi);
		printf("%.15lf\n",ans/(pi*2));			 
	}	
	
    return 0;
}

