#include <stdio.h>
#include <algorithm>
using namespace std;
#define MN 105
struct data {
int x1,y1,x2 ,y2,K;
} p[MN];
int n,X[2*MN],Y[2*MN],s[2][2],sol;
int main(){
scanf("%d",&n);
for (int i = 0; i < n; i++) {
scanf("%d%d%d%d%d",&p[i].x1,&p[i].y1,&p[i].x2,&p[i].y2,&p[i].K);
X[i]=p[i].x1; X[n+i]=p[i].x2;
Y[i]=p[i].y1; Y[n+i]=p[i].y2;
}
sort(X,X+n+n);
sort(Y,Y+n+n);
for (int i = 1; i < (n<<1); i++) {
if (X[i] == X[i-1]) continue;
for (int j = 1; j < (n<<1); j++) {
if (Y[j] == Y[j-1]) continue;
s[0][0]=((X[i]-X[i-1]+1)/2)*((Y[j]-Y[j-1]+1)/2);
s[0][1]=((X[i]-X[i-1]+1)/2)*((Y[j]-Y[j-1])/2);
s[1][0]=((X[i]-X[i-1])/2)*((Y[j]-Y[j-1]+1)/2);
s[1][1]=((X[i]-X[i-1])/2)*((Y[j]-Y[j-1])/2);
for (int k = 0; k < n; k++) {
if (p[k].x1 <= X[i-1] && X[i] <= p[k].x2 && p[k].y1 <= Y[j-1] && Y[j] <= p[k].y2) {
if (p[k].K == 1) sol+=s[0][0]+s[0][1]+s[1][0]+s[1][1],s[0][0]=s[0][1]=s[1][0]=s[1][1]=0;
else if (p[k].K == 2) {
if ((p[k].y1&1) != (Y[j-1]&1)) sol+=s[0][0]+s[1][0],s[0][0]=s[1][0]=0;
else sol+=s[0][1]+s[1][1],s[0][1]=s[1][1]=0;
} else if (p[k].K == 3) {
if ((p[k].x1&1) != (X[i-1]&1)) sol+=s[0][0]+s[0][1],s[0][0]=s[0][1]=0;
else sol+=s[1][0]+s[1][1],s[1][0]=s[1][1]=0;
} else {
if (((p[k].x1+p[k].y1)&1) != ((X[i-1]+Y[j-1])&1)) sol+=s[1][0]+s[0][1],s[1][0]=s[0][1]=0;
else sol+=s[0][0]+s[1][1],s[0][0]=s[1][1]=0;
}
}
}
}
}
printf("%d",sol);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTU4gMTA1CnN0cnVjdCBkYXRhIHsKCWludCB4MSx5MSx4MiAseTIsSzsKfSBwW01OXTsKaW50IG4sWFsyKk1OXSxZWzIqTU5dLHNbMl1bMl0sc29sOwppbnQgbWFpbigpewoJc2NhbmYoIiVkIiwmbik7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCXNjYW5mKCIlZCVkJWQlZCVkIiwmcFtpXS54MSwmcFtpXS55MSwmcFtpXS54MiwmcFtpXS55MiwmcFtpXS5LKTsKCQlYW2ldPXBbaV0ueDE7IFhbbitpXT1wW2ldLngyOwoJCVlbaV09cFtpXS55MTsgWVtuK2ldPXBbaV0ueTI7Cgl9Cglzb3J0KFgsWCtuK24pOwoJc29ydChZLFkrbituKTsKCWZvciAoaW50IGkgPSAxOyBpIDwgKG48PDEpOyBpKyspIHsKCQlpZiAoWFtpXSA9PSBYW2ktMV0pIGNvbnRpbnVlOwoJCWZvciAoaW50IGogPSAxOyBqIDwgKG48PDEpOyBqKyspIHsKCQkJaWYgKFlbal0gPT0gWVtqLTFdKSBjb250aW51ZTsKCQkJc1swXVswXT0oKFhbaV0tWFtpLTFdKzEpLzIpKigoWVtqXS1ZW2otMV0rMSkvMik7CgkJCXNbMF1bMV09KChYW2ldLVhbaS0xXSsxKS8yKSooKFlbal0tWVtqLTFdKS8yKTsKCQkJc1sxXVswXT0oKFhbaV0tWFtpLTFdKS8yKSooKFlbal0tWVtqLTFdKzEpLzIpOwoJCQlzWzFdWzFdPSgoWFtpXS1YW2ktMV0pLzIpKigoWVtqXS1ZW2otMV0pLzIpOwoJCQlmb3IgKGludCBrID0gMDsgayA8IG47IGsrKykgewoJCQkJaWYgKHBba10ueDEgPD0gWFtpLTFdICYmIFhbaV0gPD0gcFtrXS54MiAmJiBwW2tdLnkxIDw9IFlbai0xXSAmJiBZW2pdIDw9IHBba10ueTIpIHsKCQkJCQlpZiAocFtrXS5LID09IDEpIHNvbCs9c1swXVswXStzWzBdWzFdK3NbMV1bMF0rc1sxXVsxXSxzWzBdWzBdPXNbMF1bMV09c1sxXVswXT1zWzFdWzFdPTA7CgkJCQkJZWxzZSBpZiAocFtrXS5LID09IDIpIHsKCQkJCQkJaWYgKChwW2tdLnkxJjEpICE9IChZW2otMV0mMSkpIHNvbCs9c1swXVswXStzWzFdWzBdLHNbMF1bMF09c1sxXVswXT0wOwoJCQkJCQllbHNlIHNvbCs9c1swXVsxXStzWzFdWzFdLHNbMF1bMV09c1sxXVsxXT0wOwoJCQkJCX0gZWxzZSBpZiAocFtrXS5LID09IDMpIHsKCQkJCQkJaWYgKChwW2tdLngxJjEpICE9IChYW2ktMV0mMSkpIHNvbCs9c1swXVswXStzWzBdWzFdLHNbMF1bMF09c1swXVsxXT0wOwoJCQkJCQllbHNlIHNvbCs9c1sxXVswXStzWzFdWzFdLHNbMV1bMF09c1sxXVsxXT0wOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmICgoKHBba10ueDErcFtrXS55MSkmMSkgIT0gKChYW2ktMV0rWVtqLTFdKSYxKSkgc29sKz1zWzFdWzBdK3NbMF1bMV0sc1sxXVswXT1zWzBdWzFdPTA7CgkJCQkJCWVsc2Ugc29sKz1zWzBdWzBdK3NbMV1bMV0sc1swXVswXT1zWzFdWzFdPTA7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQoJcHJpbnRmKCIlZCIsc29sKTsKCXJldHVybiAwOwp9