#include <bits/stdc++.h>
struct point {
  long long x, y;
};
double len(point a) { return sqrt(a.x * a.x + a.y * a.y); }
double dist(point a, point b, point c) {
  double normal = len({b.x - a.x, b.y - a.y});
  point v1 = {b.x - a.x, b.y - a.y};
  point v2 = {c.x - a.x, c.y - a.y};
  double area = v1.x * v2.y - v1.y * v2.x;
  double distance = area / normal;
  return distance;
}
int main() {
  std::ios::sync_with_stdio(false);
  int n;
  std::cin >> n;
  point a[n];
  for (int i = 0; i < n; i++) std::cin >> a[i].x >> a[i].y;
  double ans = 1e18;
  for (int i = 0; i < n; i++) {
    int ne = (i + 1) % n;
    int nex = (i + 2) % n;
    ans = std::min(ans, dist(a[i], a[nex], a[ne]) / 2.);
  }
  std::cout << std::fixed << std::setprecision(10) << ans << std::endl;
  return 0;
}
