#include <bits/stdc++.h>
using namespace std;
long long n, m;
long double p, a, b, ans = 1e18;
pair<long double, long double> w[2003];
long long poww(long long x, long long y) {
  if (x == 0) return 0;
  if (x == 1) return 1;
  if (y == 0) return 1;
  if (y == 1) return x;
  long long d = poww(x, y / 2);
  d *= d;
  if (y % 2) return (x * d);
  return d;
}
bool bl(long long x, long long y) { return x > y; }
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    long long d1, d2;
    scanf("%lld%lld", &d1, &d2);
    w[i].first = d1;
    w[i].second = d2;
  }
  for (int i = 1; i <= n; i++) {
    long long d1 = i - 1, d2 = i + 1;
    if (i == 1) d1 = n;
    if (i == n) d2 = 1;
    pair<long double, long double> d = w[d1];
    pair<long double, long double> dd = w[d2];
    long double dx = w[d1].first - w[d2].first;
    long double dy = w[d1].second - w[d2].second;
    if (dx == 0) {
      ans = min(ans, abs(w[i].first - w[d1].first));
      continue;
    }
    if (dy == 0) {
      ans = min(ans, abs(w[i].second - w[d1].second));
      continue;
    }
    long double m = dy / dx;
    long double c = w[d1].second - m * w[d1].first;
    long double bs = abs(w[i].second - m * w[i].first - c);
    long double mq = sqrt(1 + m * m);
    bs /= mq;
    ans = min(ans, bs);
  }
  ans /= 2;
  cout << setprecision(10) << fixed << ans;
  return 0;
}
