#include <bits/stdc++.h>
using namespace std;
int n;
double lenkis, lenki[100001], minl;
int x, y;
int compare(const void* a, const void* b) {
  if (*(double*)a >= *(double*)b) {
    return 1;
  } else {
    return -1;
  }
}
int main() {
  int i;
  scanf("%d", &n);
  cout.precision(10);
  for (i = 0; i < n; i++) {
    scanf("%d %d", &x, &y);
    lenkis = acos(x / sqrt((x * x) + (y * y)));
    lenkis = lenkis * 180 / M_PI;
    if (y < 0) lenkis = 180 + (180 - lenkis);
    lenki[i] = lenkis;
  }
  qsort(lenki, n, sizeof(double), compare);
  minl = 360;
  for (i = 0; i < n - 1; i++) {
    lenkis = 360 - (lenki[i + 1] - lenki[i]);
    if (lenkis < minl) minl = lenkis;
  }
  lenkis = lenki[n - 1] - lenki[0];
  if (lenkis < minl) minl = lenkis;
  cout << fixed << minl;
}
