#include <bits/stdc++.h>
using namespace std;
double PI = 3.141592653589793;
const double EPS = 1e-9;
const int N = 1e6 + 5;
const long long mod = 1e9 + 7;
const int oo = 1e9;
int dx[] = {0, 0, 1, -1, 1, -1, 1, -1};
int dy[] = {1, -1, 0, 0, -1, 1, 1, -1};
struct point {
  int x, y;
  double angle;
};
point t[N];
int n;
double getangle(int x, int y) {
  double a = acos(x / sqrt(x * x + y * y));
  if (y >= 0)
    return a;
  else
    return 2 * PI - a;
}
bool compare(point a, point b) { return a.angle < b.angle; }
int main() {
  scanf("%d", &n);
  for (int i = 0; i <= n - 1; i++) {
    scanf("%d%d", &t[i].x, &t[i].y);
    t[i].angle = getangle(t[i].x, t[i].y);
  }
  sort(t, t + n, compare);
  double ans = t[n - 1].angle - t[0].angle;
  for (int i = 0; i <= n - 2; i++) {
    ans = min(ans, 2 * PI - (t[i + 1].angle - t[i].angle));
  }
  printf("%.6f", ans * 180 / PI);
}
