#include <bits/stdc++.h>
using namespace std;
double minDistance(pair<double, double> A, pair<double, double> B,
                   pair<double, double> E) {
  pair<double, double> AB;
  AB.first = B.first - A.first;
  AB.second = B.second - A.second;
  pair<double, double> BE;
  BE.first = E.first - B.first;
  BE.second = E.second - B.second;
  pair<double, double> AE;
  AE.first = E.first - A.first, AE.second = E.second - A.second;
  double AB_BE, AB_AE;
  AB_BE = (AB.first * BE.first + AB.second * BE.second);
  AB_AE = (AB.first * AE.first + AB.second * AE.second);
  double reqAns = 0;
  if (AB_BE > 0) {
    double y = E.second - B.second;
    double x = E.first - B.first;
    reqAns = sqrt(x * x + y * y);
  } else if (AB_AE < 0) {
    double y = E.second - A.second;
    double x = E.first - A.first;
    reqAns = sqrt(x * x + y * y);
  } else {
    double x1 = AB.first;
    double y1 = AB.second;
    double x2 = AE.first;
    double y2 = AE.second;
    double mod = sqrt(x1 * x1 + y1 * y1);
    reqAns = abs(x1 * y2 - y1 * x2) / mod;
  }
  return reqAns;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long n;
  cin >> n;
  pair<double, double> a[n];
  for (long long i = 0; i < n; i++) {
    cin >> a[i].first >> a[i].second;
  }
  double ans = ((1LL << 62LL) - 1);
  for (long long i = 0; i < n; i++) {
    auto cur = a[i];
    auto mid = a[(i + 1) % n];
    auto last = a[(i + 2) % n];
    ans = min(ans, minDistance(cur, last, mid) / 2.0);
  }
  cout << fixed << setprecision(12) << ans << "\n";
}
