#include <bits/stdc++.h>
const double PI = 4 * atan(1.0);
using namespace std;
double dis_dot_to_dot(pair<double, double> a, pair<double, double> b) {
  double ret = sqrt(((a.first - b.first) * (a.first - b.first)) +
                    ((a.second - b.second) * (a.second - b.second)));
  return ret;
}
double min_dis(pair<double, double> l, pair<double, double> r,
               pair<double, double> p, int count = 0) {
  if (count > 50) return dis_dot_to_dot(l, p);
  pair<double, double> m1;
  pair<double, double> m2;
  m1.first = (2 * l.first + r.first) / 3;
  m1.second = (2 * l.second + r.second) / 3;
  m2.first = (l.first + 2 * r.first) / 3;
  m2.second = (l.second + 2 * r.second) / 3;
  if (dis_dot_to_dot(p, m1) > dis_dot_to_dot(p, m2)) {
    return min_dis(m1, r, p, count + 1);
  } else {
    return min_dis(l, m2, p, count + 1);
  }
}
double dis_from_line(pair<long long, long long> X, pair<long long, long long> Y,
                     pair<long long, long long> dot) {
  double m = (double)(X.second - Y.second) / (double)(X.first - Y.first);
  double a = -m;
  double b = 1;
  double c = m * (double)(X.first) - (double)X.second;
  double ret = abs(a * (double)dot.first + b * (double)dot.second + c);
  ret /= sqrt((a * a) + (b * b));
  return ret;
}
int main() {
  int n;
  pair<double, double> p;
  cin >> n >> p.first >> p.second;
  pair<double, double>* dots = new pair<double, double>[n];
  double* dis = new double[n];
  double* dis_line = new double[n];
  for (int i = 0; i < n; ++i) {
    cin >> dots[i].first >> dots[i].second;
    dis[i] = sqrt(((dots[i].first - p.first) * (dots[i].first - p.first)) +
                  ((dots[i].second - p.second) * (dots[i].second - p.second)));
  }
  for (int i = 0; i < n - 1; ++i) {
    dis_line[i] = min_dis(dots[i], dots[i + 1], p);
  }
  dis_line[n - 1] = min_dis(dots[n - 1], dots[0], p);
  sort(dis_line, dis_line + n);
  sort(dis, dis + n);
  double out =
      PI * ((dis[n - 1] * dis[n - 1])) - PI * (dis_line[0] * dis_line[0]);
  cout << fixed;
  cout << setprecision(18) << out;
}
