#include <iostream>
using namespace std;
int main()
{
int t;
long double r1,r2;
cin>>t;
for(int i=0;i<t;i++)
{
cin>>r1>>r2;
long double p_r1=0.5*(r1*r1)*3.141592,p_r2=0.5*(r2*r2)*3.141592;
long double c=(r1*r1)+(r2*r2);
long double p_plk=c*0.5*3.141592,p_trj=0.5*(2*r1)*(2*r2);
long int wynik=((p_r1+p_r2+p_trj)-p_plk)*100;
cout<<wynik/100<<".";
if(wynik%100<10){cout<<"0"<<wynik%100<<endl;}
else{cout<<wynik%100<<endl;}
// cout<<"p_r1= "<<p_r1<<endl;
// cout<<"p_r2= "<<p_r2<<endl;
// cout<<"p_plk= "<<p_plk<<endl;
// cout<<"p_trj= "<<p_trj<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSAKewoJaW50IHQ7Cglsb25nIGRvdWJsZSByMSxyMjsKCWNpbj4+dDsKCWZvcihpbnQgaT0wO2k8dDtpKyspCgl7CgkJY2luPj5yMT4+cjI7CgkJbG9uZyBkb3VibGUgcF9yMT0wLjUqKHIxKnIxKSozLjE0MTU5MixwX3IyPTAuNSoocjIqcjIpKjMuMTQxNTkyOwoJCWxvbmcgZG91YmxlIGM9KHIxKnIxKSsocjIqcjIpOwoJCWxvbmcgZG91YmxlIHBfcGxrPWMqMC41KjMuMTQxNTkyLHBfdHJqPTAuNSooMipyMSkqKDIqcjIpOwoJCWxvbmcgaW50IHd5bmlrPSgocF9yMStwX3IyK3BfdHJqKS1wX3BsaykqMTAwOwoJCWNvdXQ8PHd5bmlrLzEwMDw8Ii4iOwoJCWlmKHd5bmlrJTEwMDwxMCl7Y291dDw8IjAiPDx3eW5payUxMDA8PGVuZGw7fQoJCWVsc2V7Y291dDw8d3luaWslMTAwPDxlbmRsO30KCS8vCWNvdXQ8PCJwX3IxPSAiPDxwX3IxPDxlbmRsOwoJLy8JY291dDw8InBfcjI9ICI8PHBfcjI8PGVuZGw7CgkvLwljb3V0PDwicF9wbGs9ICI8PHBfcGxrPDxlbmRsOwoJLy8JY291dDw8InBfdHJqPSAiPDxwX3Ryajw8ZW5kbDsKCX0KCXJldHVybiAwOwp9