#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 1;
int n;
struct P {
  double x, y;
};
P s[maxn];
double dis(P a) { return sqrt(a.x * a.x + a.y * a.y); }
double calS(double a, double b, double c) {
  double p = (a + b + c) / 2;
  return sqrt(p * (p - a) * (p - b) * (p - c));
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < (n); i++) cin >> s[i].x >> s[i].y;
  double ans = 1e18;
  for (int i = 0; i < (n); i++) {
    P v1 = P{s[i].x - s[(i + 1) % n].x, s[i].y - s[(i + 1) % n].y};
    P v2 = P{s[i].x - s[(i - 1 + n) % n].x, s[i].y - s[(i - 1 + n) % n].y};
    P v3 = P{s[(i + 1) % n].x - s[(i - 1 + n) % n].x,
             s[(i + 1) % n].y - s[(i - 1 + n) % n].y};
    ans = min(ans, calS(dis(v1), dis(v2), dis(v3)) / dis(v3));
  }
  printf("%.10lf\n", ans);
}
