import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static double round(double val, int places) {
long factor
= (long)Math.
pow(10,places
); val = val * factor;
long tmp
= Math.
round(val
); return (double)tmp / factor;
}
public static void main
(String[] args
) {
double Pi=3.141592654;
double r=0.00,d=0.00,wyn=0.00,a=0.00,b=0.00,h_kwadrat=0.00;
try {
String[] linia
= stdin.
readLine().
split(" "); double rDouble
= Double.
parseDouble(linia
[0]); r=rDouble;
double dDouble
= Double.
parseDouble(linia
[1]); d=dDouble;
}
b=r;
a=d/2;
h_kwadrat=(b*b) - (a*a);
wyn = h_kwadrat*Pi;
wyn = round(wyn, 2);
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKIApwdWJsaWMgY2xhc3MgTWFpbiB7CiAKCQogICAgcHVibGljIHN0YXRpYyBkb3VibGUgcm91bmQoZG91YmxlIHZhbCwgaW50IHBsYWNlcykgewogICAgICAgIGxvbmcgZmFjdG9yID0gKGxvbmcpTWF0aC5wb3coMTAscGxhY2VzKTsKICAgICAgICB2YWwgPSB2YWwgKiBmYWN0b3I7CiAgICAgICAgbG9uZyB0bXAgPSBNYXRoLnJvdW5kKHZhbCk7CiAgICAgICByZXR1cm4gKGRvdWJsZSl0bXAgLyBmYWN0b3I7CiAgICB9CiAgICAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKIAoJCWRvdWJsZSBQaT0zLjE0MTU5MjY1NDsKCQlkb3VibGUgcj0wLjAwLGQ9MC4wMCx3eW49MC4wMCxhPTAuMDAsYj0wLjAwLGhfa3dhZHJhdD0wLjAwOwogCgkJQnVmZmVyZWRSZWFkZXIgc3RkaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIoIG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKCQl0cnkgewoJCQlTdHJpbmdbXSBsaW5pYSA9IHN0ZGluLnJlYWRMaW5lKCkuc3BsaXQoIiAiKTsKCQkJZG91YmxlIHJEb3VibGUgID0gRG91YmxlLnBhcnNlRG91YmxlKGxpbmlhWzBdKTsKCQkJcj1yRG91YmxlOwoJCQlkb3VibGUgZERvdWJsZSA9ICBEb3VibGUucGFyc2VEb3VibGUobGluaWFbMV0pOwoJCQlkPWREb3VibGU7CgkJfSBjYXRjaCAoRXhjZXB0aW9uIGUpIHsKCQkJU3lzdGVtLmV4aXQoMSk7CgkJfQogCiAKCSAgICAgIGI9cjsKCSAgICAgIGE9ZC8yOwoJICAgICAgaF9rd2FkcmF0PShiKmIpIC0gKGEqYSk7CgkgICAgICB3eW4gPSBoX2t3YWRyYXQqUGk7CgkgICAgICB3eW4gPSByb3VuZCh3eW4sIDIpOwoJICAgICAgCgkgICAgICBTeXN0ZW0ub3V0LnByaW50bG4od3luKTsKIAoJfQp9IA==