#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000;
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
double dis(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double disP(double x1, double y1, double x2, double y2, double x0, double y0) {
  double p = fabs((x2 - x1) * (y0 - y1) - (x0 - x1) * (y2 - y1));
  double d = dis(x1, y1, x2, y2);
  return fabs(p / d);
}
double disP1(double x1, double y1, double x2, double y2, double x0, double y0) {
  double a = y2 - y1;
  double b = x1 - x2;
  double c = x2 * y1 - x1 * y2;
  return fabs(a * x0 + b * y0 + c) / sqrt(a * a + b * b);
}
double x[maxn];
double y[maxn];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%lf%lf", &x[i], &y[i]);
  }
  double ans = 1e18;
  for (int i = 1; i <= n; i++) {
    if (i == 1) {
      ans = min(ans, disP(x[n], y[n], x[2], y[2], x[1], y[1]));
      continue;
    } else if (i == n) {
      ans = min(ans, disP(x[n - 1], y[n - 1], x[1], y[1], x[n], y[n]));
      continue;
    } else
      ans = min(ans, disP(x[i - 1], y[i - 1], x[i + 1], y[i + 1], x[i], y[i]));
  }
  printf("%.10lf\n", ans / 2);
}
