#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
double x[210],y[210];
bool f[210][210];
double ans;
struct node{
double x1,y1,x2,y2;
}g[110];
int main()
{
while(scanf("%d",&n)&&n)
{
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
memset(f,false,sizeof(f));
ans=0;
for(int i=0;i<n;i++)
{
scanf("%lf%lf%lf%lf",&g[i].x1,&g[i].y1,&g[i].x2,&g[i].y2);
x[2*i]=g[i].x1;x[2*i+1]=g[i].x2;
y[2*i]=g[i].y1;y[2*i+1]=g[i].y2;
}
sort(x,x+2*n);
sort(y,y+2*n);
int a,b;
for(int i=0;i<n;i++)
{
a=0;b=0;
while(x[a]<=g[i].x1&&a<2*n) a++;
while(y[b]<=g[i].y1&&b<2*n) b++;
for(int j=a;x[j]<=g[i].x2&&j<2*n;j++)
for(int k=b;y[k]<=g[i].y2&&k<2*n;k++)
f[j][k]=true;
}
for(int i=0;i<2*n;i++)
for(int j=0;j<2*n;j++)
if(f[i][j])
ans+=(x[i]-x[i-1])*(y[j]-y[j-1]);
printf("%.2lf\n",ans);
}
return 0;
}