#include <bits/stdc++.h>
using namespace std;
const double eps = 1E-9;
const double Exp = 2.718281828459045;
const double Pi = 3.1415926535897932;
const int Max_Bit = 63;
const int INF = 2000000000;
const long long LINF = 1000000000000000007ll;
const int MOD = 1000000007;
const int NMAX = 100005;
const int MMAX = 505;
const int KMAX = 6;
int sum(string second) {
  if (second.size() > 0) {
    string tmp = second;
    tmp.erase(tmp.begin());
    return (int)second[0] - (int)'0' + sum(tmp);
  } else
    return 0;
}
double distance(double a, double b, double c, pair<double, double> p) {
  return fabs(a * p.first + b * p.second + c) / sqrt(a * a + b * b);
}
void line(double& a, double& b, double& c, pair<double, double> p1,
          pair<double, double> p2) {
  a = p2.second - p1.second;
  b = -(p2.first - p1.first);
  c = -p1.first * (p2.second - p1.second) - p1.second * (p1.first - p2.first);
  ;
}
int main() {
  vector<pair<int, int> > cord;
  int n;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    int x, y;
    cin >> x >> y;
    cord.push_back(make_pair(x, y));
  }
  double dmax = INF;
  for (int i = 0; i < n; i++) {
    double a, b, c;
    line(a, b, c, cord[i], cord[(i - 2 + n) % n]);
    double dis = distance(a, b, c, cord[(i + n - 1) % n]);
    if (dis < dmax) {
      dmax = dis;
    }
  }
  cout << setprecision(8) << dmax / 2 << endl;
  return 0;
}
