#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e5 + 9;
int n;
long double x[MAX], y[MAX], ma = 0, mi = 1e17, xx, yy;
long double dis(long double x1, long double y1, long double x2 = xx,
                long double y2 = yy) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
long double f(long double x1, long double y1, long double x2, long double y2) {
  for (int i = 0; i < 60; i++) {
    long double mx1 = (x2 - x1) / 3.0 + x1, mx2 = (x2 - x1) / 3.0 * 2 + x1,
                my1 = (y2 - y1) / 3.0 + y1, my2 = (y2 - y1) / 3.0 * 2 + y1;
    if (dis(mx1, my1) < dis(mx2, my2))
      x2 = mx2, y2 = my2;
    else
      x1 = mx1, y1 = my1;
  }
  return dis(x1, y1);
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> xx >> yy;
  for (int i = 0; i < n; i++) {
    cin >> x[i] >> y[i], ma = max(ma, dis(x[i], y[i], xx, yy));
    if (i) mi = min(mi, f(x[i], y[i], x[i - 1], y[i - 1]));
  }
  mi = min(mi, f(x[n - 1], y[n - 1], x[0], y[0]));
  cout << fixed << setprecision(9) << (ma * ma - mi * mi) * acos(0) * 2;
}
