#include <bits/stdc++.h>
using namespace std;
int n;
long long x[100000], y[100000];
long long d2(int i, int j) {
  return (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]);
}
int main() {
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> x[i] >> y[i];
  }
  double mn = 1e20;
  for (int a = 0; a < n; ++a) {
    for (int b = 0; b < n; ++b) {
      int c = (a + 1) % n;
      if (a == b || b == c || a == c) continue;
      int i = a, j = c, k = b;
      double s = fabs(1. * (x[i] - x[j]) * (y[k] - y[j]) -
                      (x[k] - x[j]) * (y[i] - y[j])) /
                 2;
      double h = 2 * s / sqrt(d2(i, k));
      mn = min(h / 2, mn);
    }
  }
  for (int a = 0; a < n; ++a) {
    for (int b = 0; b < n; ++b) {
      int c = (a - 1 + n) % n;
      if (a == b || b == c || a == c) continue;
      int i = a, j = c, k = b;
      double s = fabs(1. * (x[i] - x[j]) * (y[k] - y[j]) -
                      (x[k] - x[j]) * (y[i] - y[j])) /
                 2;
      double h = 2 * s / sqrt(d2(i, k));
      mn = min(h / 2, mn);
      mn = min(sqrt(d2(a, b)) / 2, mn);
    }
  }
  for (int it = 0; it <= n + 2; ++it) {
    int i = it % n;
    int j = (it + 1) % n;
    int k = (it + 2) % n;
    mn = min(sqrt(d2(i, j)) / 2, mn);
    double s = fabs(1. * (x[i] - x[j]) * (y[k] - y[j]) -
                    (x[k] - x[j]) * (y[i] - y[j])) /
               2;
    double h = 2 * s / sqrt(d2(i, k));
    mn = min(h / 2, mn);
  }
  cout.precision(30);
  cout << mn << endl;
  return 0;
}
