#include <bits/stdc++.h>
using namespace std;
int n;
double x[100003];
double y[100003];
double maxi = -1;
double mini = 10e8;
double dist(int i) {
  return pow((x[0] - x[i]) * (x[0] - x[i]) + (y[0] - y[i]) * (y[0] - y[i]),
             0.5);
}
double distl(int i) {
  return fabs(((y[i] - y[i + 1]) * x[0] + (x[i + 1] - x[i]) * y[0] +
               (x[i] * y[i + 1] - x[i + 1] * y[i])) /
              (pow((y[i] - y[i + 1]) * (y[i] - y[i + 1]) +
                       (x[i] - x[i + 1]) * (x[i] - x[i + 1]),
                   0.5)));
}
int main() {
  cin >> n;
  for (int i = 0; i <= n; i++) cin >> x[i] >> y[i];
  x[n + 1] = x[1];
  y[n + 1] = y[1];
  for (int i = 1; i <= n; i++) {
    double i1 = dist(i);
    double i2 = dist(i + 1);
    double l = distl(i);
    maxi = max(maxi, i1);
    if (sqrt(i1 * i1 - l * l) + sqrt(i2 * i2 - l * l) -
            pow((y[i] - y[i + 1]) * (y[i] - y[i + 1]) +
                    (x[i] - x[i + 1]) * (x[i] - x[i + 1]),
                0.5) <
        10e-10) {
      mini = min(mini, l);
    }
    mini = min(mini, min(i1, i2));
  }
  printf("%.10f\n", (maxi * maxi - mini * mini) * acos(-1.));
}
