#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; }