#include <bits/stdc++.h>
using namespace std;
vector<pair<long double, long double> > polygon;
long double get_dist(long double x1, long double y1, long double x2,
                     long double y2) {
  return sqrt(pow(fabs(x1 - x2), 2) + pow(fabs(y1 - y2), 2));
}
long double get_area(long double side1, long double side2, long double side3) {
  long double p = (side1 + side2 + side3) / 2.0;
  return sqrt(p * (p - side1) * (p - side2) * (p - side3));
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    polygon.push_back(make_pair(a, b));
  }
  polygon.push_back(polygon[0]);
  polygon.push_back(polygon[1]);
  long double ans = 2e10;
  for (int i = 1; i < polygon.size() - 1; i++) {
    long double bigdist = get_dist(polygon[i - 1].first, polygon[i - 1].second,
                                   polygon[i + 1].first, polygon[i + 1].second);
    long double dist1 = get_dist(polygon[i - 1].first, polygon[i - 1].second,
                                 polygon[i].first, polygon[i].second);
    long double dist2 = get_dist(polygon[i].first, polygon[i].second,
                                 polygon[i + 1].first, polygon[i + 1].second);
    long double area = get_area(bigdist, dist1, dist2);
    ans = min(ans, area / bigdist);
  }
  cout << fixed << setprecision(10) << ans << endl;
  return 0;
}
