#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const int maxn = 1e5 + 9;
const double pi = 3.14159265358979323846264;
const long long inf = 2e17;
const int mod = 10007;
double x[maxn], y[maxn];
double sol(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
int main() {
  double a, b;
  int n;
  cin >> n >> a >> b;
  for (int i = 0; i < n; ++i) scanf("%lf%lf", &x[i], &y[i]);
  double p = 0, q = 1e17;
  for (int i = 0; i < n; ++i) {
    p = max(p, sol(x[i], y[i], a, b));
    int k = i + 1;
    if (k == n) k = 0;
    double px = x[k] - x[i], py = y[k] - y[i];
    double l = 0, r = 1;
    double tmp;
    for (int j = 0; j < 50; ++j) {
      double mid = (l + r) / 2;
      double midl = (l + mid) / 2, midr = (r + mid) / 2;
      double p1 = sol(x[i] + midl * px, y[i] + midl * py, a, b);
      double p2 = sol(x[i] + midr * px, y[i] + midr * py, a, b);
      if (p1 < p2)
        tmp = p1, r = midr;
      else
        tmp = p2, l = midl;
    }
    q = min(q, tmp);
  }
  printf("%.11lf", pi * p * p - pi * q * q);
  return 0;
}
