#include <stdio.h>
struct hello
{
int x1;
int y1;
int x2;
int y2;
};
int main()
{
//int NUM=2;
int NUM;
scanf("%d",&NUM);
struct hello a[NUM];
int i;
for(i=0;i<NUM;i++)
{
scanf("%d",&a[i].x1);
scanf("%d",&a[i].y1);
scanf("%d",&a[i].x2);
scanf("%d",&a[i].y2);
}
/*
a[0].x1=1;
a[0].y1=1;
a[0].x2=4;
a[0].y2=4;
a[1].x1=2;
a[1].y1=3;
a[1].x2=6;
a[1].y2=5;*/
//printf("1 a[0].x1=%d a[0].x2=%d\n",a[0].x1,a[0].x2);
int max_x=0;
int max_y=0;
//printf("2 a[0].x1=%d a[0].x2=%d\n",a[0].x1,a[0].x2);
for(i=0;i<NUM;i++)
{
if(a[i].x2>max_x)
{
max_x=a[i].x2;
}
if(a[i].y2>max_y)
{
max_y=a[i].y2;
}
}
//printf("max_x=%d max_y=%d\n",max_x,max_y);
//printf("3 a[0].x1=%d a[0].x2=%d\n",a[0].x1,a[0].x2);
int b[max_y][max_x];
int j;
int k;
//printf("4 a[0].x1=%d a[0].x2=%d\n",a[0].x1,a[0].x2);
//printf("\n");
//printf("\n");
for(j=0;j<max_y;j++)
{
for(k=0;k<max_x;k++)
{
b[j][k]=0;
//printf("%d %d a[0].x1=%d a[0].x2=%d\n",j,k,a[0].x1,a[0].x2);
}
}
//printf("5 a[0].x1=%d a[0].x2=%d\n",a[0].x1,a[0].x2);
for(i=0;i<NUM;i++)
{
//printf("i=%d\n",i);
//printf("6 a[%d].x1=%d a[%d].x2=%d\n",i,a[i].x1,i,a[i].x2);
for(j=a[i].x1;j<a[i].x2;j++)
{
for(k=a[i].y1;k<a[i].y2;k++)
{
b[k][j]=1;
//b[j][k]=99;
// printf("b[%d][%d]=%d\n",j,k,b[j][k]);
}
}
}
//printf("\n");
int temp=0;
for(j=0;j<max_y;j++)
{
for(k=0;k<max_x;k++)
{
//printf("b[%d][%d]=%d\n",j,k,b[j][k]);
if(b[j][k]==1)
{
temp++;
}
}
}
printf("%d\n",temp);
return 0;
}