大数据差了0.0018
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define FOR(qwe,wer,ert) for(int qwe=wer;qwe<=ert;++qwe)
#define dts(qwe,wer,ert,rty) (sqrtl((qwe-ert)*(qwe-ert)+(wer-rty)*(wer-rty)))
int n,m,t;
long double ans;
long double dis(int x,int y)
{
/*if(x*2==(n+1))
{
if(y*2>=(m+1))return dts(x,y,1,1);
else return dts(x,y,n,m);
}
if(y*2==(m+1))
{
if(x*2>=(n+1))return dts(x,y,1,1);
else return dts(x,y,n,m);
}*/
return max(max(dts(x,y,1,1),dts(x,y,n,1)),max(dts(x,y,1,m),dts(x,y,n,m)));
}
signed main()
{
scanf("%lld",&t);
scanf("%lld",&t);
while(t--)
{
ans=0;
scanf("%lld%lld",&n,&m);
printf("%lld ",n*m-(((n+1)/2)*((m+1)/2)));
if(n<3&&m<3)printf("0");
else
{
for(int i=1;i<=n;i+=2)
for(int j=1;j<=m;j+=2)
{
if((i-2)*2<=n&&i*2>n&&n%2==0)i++;
if((j-2)*2<=m&&j*2>m&&m%2==0)j++;
ans+=dis(i,j);
}
}
printf("%0.9lf\n",(double)ans);
}
return 0;
}