#include <bits/stdc++.h>
using namespace std;
struct Pnt {
  long double x;
  long double y;
  Pnt(long double x, long double y) : x(x), y(y) {}
  Pnt() : x(0), y(0) {}
  long double operator%(Pnt p) const { return x * p.y - y * p.x; }
  long double len2() const { return x * x + y * y; }
  long double len() const { return sqrt(len2()); }
  Pnt operator-(Pnt p) const { return Pnt(x - p.x, y - p.y); }
};
int main() {
  int n;
  cin >> n;
  vector<Pnt> p(n);
  for (int i = 0; i < n; ++i) {
    cin >> p[i].x >> p[i].y;
  }
  long double D = 4 * 1e18 + 500;
  for (int i = 0; i < n; ++i) {
    Pnt cur = p[i];
    Pnt prev = p[(n + i - 1) % n];
    Pnt next = p[(i + 1) % n];
    long double d = abs(((cur - prev) % (next - prev)) / (next - prev).len());
    D = min(D, d / 2);
  }
  cout.precision(10);
  cout << fixed << D << endl;
  return 0;
}
