#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
bool f[210][210];
double x[210]={0},y[210]={0},sx[210]={0},sy[210]={0};
#define For(i,a,b) for(register int i=a,_b=b;i<=_b;i++)
int main()
{
register int n,fa,fb,_i,cnt=0;
double ans;
while(scanf("%d",&n)&&(n*=2)&&++cnt)
{
ans=0;
For(i,1,n)For(j,1,n)f[i][j]=0;
For(i,1,n)
{
scanf("%lf%lf",&x[i],&y[i]);
sx[i]=x[i],sy[i]=y[i];
}
sort(&sx[1],&sx[n+1]);
sort(&sy[1],&sy[n+1]);
For(k,1,n)
{
fa=lower_bound(&sx[1],&sx[n+1],x[k])-sx;
fb=lower_bound(&sy[1],&sy[n+1],y[k++])-sy;
while(sx[fa]<x[k])
{
for(_i=fb;sy[_i]<y[k];_i++)f[fa][_i]=1;
fa++;
}
}
For(i,1,n)For(j,1,n)if(f[i][j])ans+=(sx[i+1]-sx[i])*(sy[j+1]-sy[j]);
printf("Test case #%d\nTotal explored area: %.2lf\n\n",cnt,ans);
}
return 0;
}
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
bool f[210][210];
double x[210]={0},y[210]={0},sx[210]={0},sy[210]={0};
#define For(i,a,b) for(register int i=a,_b=b;i<=_b;i++)
int main()
{
register int n,fa,fb,_i,cnt=0;
double ans;
while(scanf("%d",&n)&&(n*=2)&&++cnt)
{
ans=0;
For(i,1,n)For(j,1,n)f[i][j]=0;
For(i,1,n)
{
scanf("%lf%lf",&x[i],&y[i]);
sx[i]=x[i],sy[i]=y[i];
}
sort(&sx[1],&sx[n+1]);
sort(&sy[1],&sy[n+1]);
For(k,1,n)
{
fa=lower_bound(&sx[1],&sx[n+1],x[k])-sx;
fb=lower_bound(&sy[1],&sy[n+1],y[k++])-sy;
while(sx[fa]<x[k])
{
for(_i=fb;sy[_i]<y[k];_i++)f[fa][_i]=1;
fa++;
}
}
For(i,1,n)For(j,1,n)if(f[i][j])ans+=(sx[i+1]-sx[i])*(sy[j+1]-sy[j]);
printf("Test case #%d\nTotal explored area: %.2lf\n\n",cnt,ans);
}
return 0;
}