#include <bits/stdc++.h>
using namespace std;
pair<int, int> points[1005];
double distance(double x1, double y1, double x2, double y2, double pointX,
                double pointY) {
  double diffX = x2 - x1;
  double diffY = y2 - y1;
  if ((diffX == 0) && (diffY == 0)) {
    diffX = pointX - x1;
    diffY = pointY - y1;
    return sqrt(diffX * diffX + diffY * diffY);
  }
  double t = ((pointX - x1) * diffX + (pointY - y1) * diffY) /
             (diffX * diffX + diffY * diffY);
  if (t < 0) {
    diffX = pointX - x1;
    diffY = pointY - y1;
  } else if (t > 1) {
    diffX = pointX - x2;
    diffY = pointY - y2;
  } else {
    diffX = pointX - (x1 + t * diffX);
    diffY = pointY - (y1 + t * diffY);
  }
  return sqrt(diffX * diffX + diffY * diffY);
}
int main() {
  int i, j, n;
  double ans = 1e15;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d %d", &points[i].first, &points[i].second);
  }
  for (i = 0; i < n; i++)
    ans = min(
        ans,
        0.5 * distance(points[i].first, points[i].second,
                       points[(i + 2) % n].first, points[(i + 2) % n].second,
                       points[(i + 1) % n].first, points[(i + 1) % n].second));
  printf("%.12lf\n", ans);
  return 0;
}
