#include <bits/stdc++.h>
using namespace std;
long long n;
vector<pair<long long, long long> > ar;
long double dist(pair<long long, long long> a, pair<long long, long long> b) {
  return sqrt((a.first - b.first) * (a.first - b.first) +
              (a.second - b.second) * (a.second - b.second));
}
int main() {
  cin >> n;
  ar.resize(n);
  for (long long i = 0; i < n; ++i) {
    cin >> ar[i].first >> ar[i].second;
  }
  long double mi = 1000000000000;
  for (long long i = 0; i < n - 2; ++i) {
    long double a = ar[i].second - ar[i + 2].second;
    long double b = ar[i + 2].first - ar[i].first;
    long double c = -ar[i].first * a - ar[i].second * b;
    long double len = (a * ar[i + 1].first + b * ar[i + 1].second + c) /
                      dist(ar[i], ar[i + 2]);
    if (len < mi) mi = len;
  }
  long double a = ar[n - 1].second - ar[1].second;
  long double b = ar[1].first - ar[n - 1].first;
  long double c = -ar[1].first * a - ar[1].second * b;
  long double len =
      (a * ar[0].first + b * ar[0].second + c) / dist(ar[1], ar[n - 1]);
  if (len < mi) mi = len;
  a = ar[n - 2].second - ar[0].second;
  b = ar[0].first - ar[n - 2].first;
  c = -ar[0].first * a - ar[0].second * b;
  len =
      (a * ar[n - 1].first + b * ar[n - 1].second + c) / dist(ar[0], ar[n - 2]);
  if (len < mi) mi = len;
  cout << setprecision(10);
  cout << mi / 2;
}
