#include <bits/stdc++.h>
using namespace std;
template <typename T>
bool chmax(T& a, const T& b) {
  return a < b ? (a = b, true) : false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  return b < a ? (a = b, true) : false;
}
int N;
int X[1000], Y[1000];
const double INF = 1e18;
int main() {
  scanf("%d", &N);
  for (int i = (int)(0); i < (int)(N); i++) {
    scanf("%d%d", &X[i], &Y[i]);
  }
  double ans = INF;
  for (int i = (int)(0); i < (int)(N); i++) {
    int j = (i + 1) % N, k = (j + 1) % N;
    double a = 0.0, b = 0.0, c = 0.0;
    if (X[k] == X[i]) {
      a = 1.0;
      b = 0.0;
      c = -X[i];
    } else if (Y[k] == Y[i]) {
      a = 0.0;
      b = 1.0;
      c = -Y[i];
    } else {
      a = -1.0 * (Y[k] - Y[i]) / (X[k] - X[i]);
      b = 1.0;
      c = -(Y[k] + a * X[k]);
    }
    chmin(ans, abs(a * X[j] + b * Y[j] + c) / sqrt(a * a + b * b) / 2.0);
  }
  printf("%.10f\n", ans);
  return 0;
}
