#include <bits/stdc++.h>   using namespace std;   double shortestDisSq(double x1, double y1, double x2, double y2, double x,                        double y) {     double magSq = pow(abs(x2 - x1), 2) + pow(abs(y2 - y1), 2);     double proj = ((x - x1) * (x2 - x1) + (y - y1) * (y2 - y1)) / magSq;     if (proj > 1) proj = 1;     if (proj < 0) proj = 0;     return pow(abs((x1 + proj * (x2 - x1)) - x), 2) +            pow(abs((y1 + proj * (y2 - y1)) - y), 2);   }   int main() {     int n;     double x, y;     cin >> n >> x >> y;     double p, q;     double op, oq, ip, iq;     const double PI = 3.141592653589793238463;     double dis;     double R2 = 0;     double r2 = 100000000000000;     for (int i = 0; i < n; i++) {       cin >> p >> q;       if (i == 0) {         ip = p;         iq = q;       }       if (i > 0) r2 = min(r2, shortestDisSq(p, q, op, oq, x, y));       if (i == n - 1) r2 = min(r2, shortestDisSq(ip, iq, p, q, x, y));       op = p;       oq = q;       dis = pow(abs(x - p), 2) + pow(abs(y - q), 2);       R2 = max(R2, dis);     }     double res = PI * (R2 - r2);     printf( %.8lf n , res);     return 0;   }   