#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps = 1e-6;
struct point {
  double x, y;
  point(double x = 0.0, double y = 0.0) : x(x), y(y) {}
  point operator+(const point& TMP) const {
    return point(x + TMP.x, y + TMP.y);
  }
  point operator-(const point& TMP) const {
    return point(x - TMP.x, y - TMP.y);
  }
  point& operator+=(const point& TMP) {
    x += TMP.x;
    y += TMP.y;
    return *this;
  }
  point& operator-=(const point& TMP) {
    x -= TMP.x;
    y -= TMP.y;
    return *this;
  }
  void in() { cin >> x >> y; }
  double angle(point ROOT = point(0, 0)) {
    double res = atan2(y - ROOT.y, x - ROOT.x);
    if (res < 0) res += 2.0 * pi;
    return res;
  }
};
struct line {
  double a, b, c;
  point head, end;
  line(double a = 0.0, double b = 0.0, double c = 0.0) : a(a), b(b), c(c) {}
  void init_have_point() {
    if (abs(head.x - end.x) < eps) {
      a = 1.0;
      b = 0.0;
      c = -head.x;
    } else if (abs(head.y - end.y) < eps) {
      a = 0.0;
      b = 1.0;
      c = -head.y;
    } else {
      a = (head.y - end.y) / (head.x - end.x);
      b = -1.0;
      c = head.y - a * head.x;
    }
    return;
  }
  void in1() { cin >> a >> b >> c; }
  void in2() {
    head.in();
    end.in();
  }
};
point point_rotate(point X, double val, point ROOTz = point(0, 0)) {
  point TMP = X - ROOTz;
  X.x = TMP.x * cos(val) - TMP.y * sin(val);
  X.y = TMP.x * sin(val) + TMP.y * cos(val);
  return X + ROOTz;
}
point point_to_line(point X, line P) {
  return point(
      (P.b * (P.b * X.x - P.a * X.y) - P.a * P.c) / (P.a * P.a + P.b * P.b),
      (P.a * (-P.b * X.x + P.a * X.y) - P.b * P.c) / (P.a * P.a + P.b * P.b));
}
line bisector(point Y, point X, point Z) {
  line res;
  Y -= X;
  Z -= X;
  double val = (Y.angle() - Z.angle()) / 2.0;
  res.head = point_rotate(Y, -val) + X;
  res.end = X;
  res.init_have_point();
  return res;
}
double dis(point X, point Y) {
  return sqrt((X.x - Y.x) * (X.x - Y.x) + (X.y - Y.y) * (X.y - Y.y));
}
double dis(point X, line P) {
  return abs(P.a * X.x + P.b * X.y + P.c) / sqrt(P.a * P.a + P.b * P.b);
}
const int N = 2009;
point v[N];
int main() {
  int n;
  ios::sync_with_stdio(false);
  cin >> n;
  cout << setprecision(9);
  for (int i = 1; i <= n; i++) v[i].in();
  v[0] = v[n];
  v[n + 1] = v[1];
  double mi = INFINITY;
  for (int i = 1; i <= n; i++) {
    line l;
    l.head = v[i - 1];
    l.end = v[i + 1];
    l.init_have_point();
    mi = min(mi, dis(v[i], l));
  }
  cout << mi / 2 << endl;
  return 0;
}
