#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:64000000")
const int infi = 1e9 + 7;
const long long infl = 2e18 + 7;
struct point {
  long double x, y;
  point() {}
  point(long double x, long double y) : x(x), y(y){};
  point operator-(const point &a) const { return point(x - a.x, y - a.y); }
};
long double sn(const point &a, const point &b) { return a.x * b.y - a.y * b.x; }
long double sqr(long double a) { return a * a; }
long double dist(const point &a, const point &b) {
  return sqrtl(sqr(a.x - b.x) + sqr(a.y - b.y));
}
long double get(point a, point b, point c) {
  long double s = abs(sn(a - b, c - b));
  long double q = s / dist(a, b);
  long double w = s / dist(a, c);
  long double e = s / dist(b, c);
  return min(q, min(w, e));
}
point ar[1010];
int main() {
  cin.sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  for (int i = 0; i < (n); ++i) cin >> ar[i].x >> ar[i].y;
  long double ans = infl;
  for (int i = 0; i < n; ++i) {
    long double a = get(ar[i], ar[(i + 1) % n], ar[(i + 2) % n]);
    ans = min(ans, a);
  }
  ans /= 2;
  cout.precision(20);
  cout << fixed;
  cout << ans;
  return 0;
}
