#include <bits/stdc++.h>

using namespace std;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define all(x) (x).begin (),(x).end()
#define sqrt(x) sqrt(abs(x))
#define re return
#define sz(x) ((int)(x).size ())
#define prev PREV
#define next NEXT

using ll = long long;
using ii = pair<int, int>;
using ld = long double;
using D = double;
using vi = vector<int>;
using vii = vector<ii>;
using vvi = vector<vi>;
using vs = vector<string>;

template<typename T> T abs (T x) { re x < 0 ? -x : x; }
template<typename T> T sgn (T x) { re x < 0 ? -1 : (x > 0 ? 1 : 0); }
template<typename T> T sqr (T x) { re x * x; }
template<typename T> T gcd (T a, T b) { re a ? gcd (b % a, a) : b; }

const double pi = 2 * asin (1.0);

int n;
int m;
int x[100];
int y[100];

int main () {
	scanf ("%d", &n);
	for (int i = 0; i < n; i++)
		scanf ("%d%d", &x[i], &y[i]);
	for (int i = 0; i < n; i++) {
		vector<double> v;
		for (int j = 0; j < n; j++)
			if (i != j)
				v.pb (atan2 (y[j] - y[i], x[j] - x[i]));
		sort (all (v));
		double cur = 0;
		if (sz (v) == 1) cur = 0.5; else {
			v.pb (v[0] + 2 * pi);
			for (int j = 0; j < n - 1; j++)
				if (v[j + 1] - v[j] > pi)
					cur += v[j + 1] - v[j] - pi;
			cur /= 2 * pi;
		}
		printf ("%.10f\n", cur);
	}
	return 0;
}