#include <bits/stdc++.h>
using namespace std;
struct node {
  double x;
  double y;
} a[120009];
int n;
double fun(int i) {
  double x1 = a[i].x, y1 = a[i].y;
  i++;
  if (i == n) {
    i = 0;
  }
  double x2 = a[i].x, y2 = a[i].y;
  i++;
  if (i == n) {
    i = 0;
  }
  double x3 = a[i].x, y3 = a[i].y;
  double x0 = x2, y0 = y2;
  double A = y3 - y1;
  double B = x1 - x3;
  double C = y1 * x3 - y3 * x1;
  double d = (A * x0 + B * y0 + C) / (sqrt(A * A + B * B));
  if (d < 0) d = -d;
  return d / 2;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%lf%lf", &a[i].x, &a[i].y);
  double minn = 1e20;
  for (int i = 0; i < n; i++) {
    minn = min(fun(i), minn);
  }
  printf("%lf\n", minn);
}
