#include <bits/stdc++.h>
using namespace std;
struct point {
  long double x, y;
  point(long double x = 0.0, long double y = 0.0) : x(x), y(y) {}
  point operator+(point p) { return point(x + p.x, y + p.y); }
  point operator-(point p) { return point(x - p.x, y - p.y); }
};
struct line {
  long double a, b, c;
  line(long double a = 0.0, long double b = 0.0, long double c = 0.0)
      : a(a), b(b), c(c) {}
  line(point p, point q) {
    a = p.y - q.y;
    b = q.x - p.x;
    c = -(a * p.x + b * p.y);
  }
  long double dist(point p) {
    return abs(a * p.x + b * p.y + c) / sqrt(a * a + b * b);
  }
};
vector<point> vec;
int main() {
  int n;
  cin >> n;
  vec.resize(n + 2);
  for (int i = 1; i <= n; ++i) {
    cin >> vec[i].x >> vec[i].y;
  }
  vec[0] = vec[n];
  vec[n + 1] = vec[1];
  long double d = 2000000000.0;
  for (int i = 1; i <= n; ++i) {
    d = min(d, line(vec[i - 1], vec[i + 1]).dist(vec[i]));
  }
  cout.setf(ios::fixed);
  cout.precision(10);
  cout << d / 2.0;
  return 0;
}
