#include <bits/stdc++.h>
using namespace std;
pair<int, int> arr[100010];
vector<pair<double, int> > v1(100010);
int main() {
  int n, i, j, k;
  cin >> n;
  for (int i = 0; i < n; i += 1) {
    int a, b;
    cin >> a >> b;
    arr[i] = make_pair(a, b);
  }
  for (int i = 0; i < n; i += 1) {
    int x = arr[i].first;
    int y = arr[i].second;
    if (arr[i].first == 0) {
      if (arr[i].second > 0)
        v1[i].first = 90;
      else {
        v1[i].first = 270;
      }
    } else if (arr[i].second == 0) {
      if (arr[i].first > 0)
        v1[i].first = 0;
      else
        v1[i].first = 180;
    } else if (x > 0 && y > 0)
      v1[i].first = atan(((double)y) / x) * 180.0 / 3.14159265;
    else if (x > 0 && y < 0)
      v1[i].first = 360 + atan(((double)y) / x) * 180.0 / 3.14159265;
    else if (x < 0 && y > 0)
      v1[i].first = 180 + atan(((double)y) / x) * 180.0 / 3.14159265;
    else {
      v1[i].first = 180 + atan(((double)y) / x) * 180.0 / 3.14159265;
    }
    v1[i].second = i;
  }
  sort(v1.begin(), v1.begin() + n);
  double min_diff = v1[n - 1].first - v1[0].first;
  for (int i = 0; i < n - 1; i += 1) {
    double diff = 360 - (v1[i + 1].first - v1[i].first);
    min_diff = min(min_diff, diff);
  }
  cout << fixed << setprecision(7) << min_diff << "\n";
}
