#include <bits/stdc++.h>
using namespace std;
const long double EPS = 1e-8;
const int N = 1010;
struct point {
  long double x, y;
  point(long double x, long double y) : x(x), y(y) {}
  point() : x(0), y(0) {}
};
point v[N];
bool eq(long double a, long double b) { return fabs(a - b) < EPS; }
long double sq(long double x) { return x * x; }
struct line {
  long double a, b, c;
  line(point p1, point p2) {
    if (!eq(p1.y, p2.y)) {
      a = 1;
      b = (p1.x - p2.x) / (p2.y - p1.y);
    } else {
      b = 1;
      a = (p2.y - p1.y) / (p1.x - p2.x);
    }
    c = -(a * p1.x + b * p1.y);
  }
  point projection(point p) {
    long double t = -(a * p.x + b * p.y + c) / (sq(a) + sq(b));
    return point(p.x + t * a, p.y + t * b);
  }
};
long double dist(point a, point b) {
  return sqrt(sq(a.x - b.x) + sq(a.y - b.y));
}
long double calc(point a, point b, point c) {
  line l(a, c);
  point x = l.projection(b);
  return dist(x, b) / 2;
}
int main() {
  ios_base::sync_with_stdio(0);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> v[i].x >> v[i].y;
  }
  long double ans = 1e18;
  for (int i = 0; i < n; i++) {
    ans = min(ans, calc(v[i], v[(i + 1) % n], v[(i + 2) % n]));
  }
  cout << fixed << setprecision(10) << ans << endl;
  return 0;
}
