#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 7;
struct node {
  double x, y;
} pt[maxn];
double dist(double a1, double b1, double a2, double b2, double a, double b) {
  if (a2 != a1) {
    double k = (b2 - b1) / (a2 - a1);
    return fabs((b - b1) - k * (a - a1)) / sqrt(1 + k * k);
  } else
    return fabs(a - a1);
}
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> pt[i].x >> pt[i].y;
  }
  pt[0] = pt[n];
  pt[n + 1] = pt[1];
  double ans = (1LL << 62) * 1.0;
  for (int i = 1; i <= n; i++) {
    double tmp = dist(pt[i - 1].x, pt[i - 1].y, pt[i + 1].x, pt[i + 1].y,
                      pt[i].x, pt[i].y) *
                 0.5;
    ans = min(ans, tmp);
  }
  printf("%.10lf\n", ans);
  return 0;
}
