#include <bits/stdc++.h>
using namespace std;
long long read() {
  char c = getchar();
  long long u = 0, f = 1;
  while (c != '-' && (c < '0' || '9' < c)) c = getchar();
  if (c == '-') {
    f = -1;
    c = getchar();
  }
  while ('0' <= c && c <= '9') {
    u = u * 10 + c - '0';
    c = getchar();
  }
  return u * f;
}
char readc() {
  for (;;) {
    char c = getchar();
    if ('A' <= c && c <= 'Z' || 'a' <= c && c <= 'z') return c;
  }
}
int read_digit() {
  for (;;) {
    char c = getchar();
    if ('0' <= c && c <= '9') return c - '0';
  }
}
inline int max(int a, int b) { return a > b ? a : b; }
inline int min(int a, int b) { return a < b ? a : b; }
template <typename T>
inline void updmax(T &a, T b) {
  if (b > a) a = b;
}
template <typename T>
inline void updmin(T &a, T b) {
  if (b < a) a = b;
}
inline void swap(int &a, int &b) {
  int t = a;
  a = b;
  b = t;
}
inline void fileio(string s) {
  freopen((s + ".in").c_str(), "r", stdin);
  freopen((s + ".out").c_str(), "w", stdout);
}
pair<long double, long double> operator-(pair<long double, long double> a,
                                         pair<long double, long double> b) {
  return make_pair((a.first - b.first), (a.second - b.second));
}
long double dist(pair<long double, long double> a,
                 pair<long double, long double> b) {
  return sqrt(((a.first - b.first) * (a.first - b.first)) +
              ((a.second - b.second) * (a.second - b.second)));
}
long double cross(pair<long double, long double> a,
                  pair<long double, long double> b) {
  return a.first * b.second - a.second * b.first;
}
long double dist(pair<long double, long double> a,
                 pair<long double, long double> x,
                 pair<long double, long double> y) {
  long double u = cross(x - a, y - a) / dist(x, y);
  return ((u) > 0 ? (u) : (-(u)));
}
pair<long double, long double> p[10010];
int main() {
  int n = read();
  for (int i = 1; i <= n; i++) {
    p[i].first = read();
    p[i].second = read();
  }
  long double ans = 1e13;
  for (int i = 1; i <= n; i++) {
    long double u = dist(p[i], p[(i + n - 2) % n + 1], p[i % n + 1]) / 2;
    updmin(ans, u);
  }
  double u = ans;
  printf("%.12lf\n", u);
  return 0;
}
