#include <bits/stdc++.h>
using namespace std;
double p2(double a) { return a * a; }
double dist(const pair<double, double>& a, const pair<double, double>& b) {
  return sqrt(p2(a.first - b.first) + p2(a.second - b.second));
}
double cross(const pair<double, double>& a, const pair<double, double>& b) {
  return a.first * b.second - a.second * b.first;
}
double cross(const pair<double, double>& o, const pair<double, double>& a,
             const pair<double, double>& b) {
  pair<double, double> oa(a.first - o.first, a.second - o.second);
  pair<double, double> ob(b.first - o.first, b.second - o.second);
  return cross(oa, ob);
}
int main() {
  vector<pair<double, double> > points;
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    double x, y;
    cin >> x >> y;
    points.push_back(make_pair(x, y));
  }
  double ans = 1e20;
  for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
      ans = min(ans, dist(points[i], points[j]) / 2);
    }
  }
  for (int i = 0; i < n; i++) {
    int pre = (i - 1 + n) % n;
    int nex = (i + 1) % n;
    ans = min(ans, (fabs(cross(points[i], points[pre], points[nex])) /
                    dist(points[pre], points[nex])) /
                       2);
  }
  cout << setprecision(8) << fixed << ans << endl;
  return 0;
}
