#include<fstream>
#include<algorithm>
#define LL long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
LL arie;
LL Ax1,Ay1,Ax2,Ay2;
LL Bx1,By1,Bx2,By2;
LL Cx1,Cy1,Cx2,Cy2;
LL ABx1,ABy1,ABx2,ABy2;
LL ACx1,ACy1,ACx2,ACy2;
LL BCx1,BCy1,BCx2,BCy2;
LL ABCx1,ABCy1,ABCx2,ABCy2;
int main()
{
f>>Ax1>>Ay1>>Ax2>>Ay2;
f>>Bx1>>By1>>Bx2>>By2;
f>>Cx1>>Cy1>>Cx2>>Cy2;
arie=(Ax2-Ax1)*(Ay2-Ay1)+(Bx2-Bx1)*(By2-By1)+(Cx2-Cx1)*(Cy2-Cy1);
ABx1=max(Ax1,Bx1);
ABy1=max(Ay1,By1);
ABx2=max(Ax2,Bx2);
ABy2=max(Ax2,By2);
LL dx=ABx2-ABx1,dy=ABy2-ABy1;
if(dx>=0 && dy>=0) arie=arie-dx*dy;
ACx1=max(Ax1,Cx1);
ACy1=max(Ay1,Cy1);
ACx2=max(Ax2,Cx2);
ACy2=max(Ax2,Cy2);
dx=ACx2-ACx1,dy=ACy2-ACy1;
if(dx>=0 && dy>=0) arie=arie-dx*dy;
BCx1=max(Cx1,Bx1);
BCy1=max(Cy1,By1);
BCx2=max(Cx2,Bx2);
BCy2=max(Cx2,By2);
dx=BCx2-BCx1,dy=BCy2-BCy1;
if(dx>=0 && dy>=0) arie=arie-dx*dy;
ABCx1=max(ACx1,Bx1);
ABCy1=max(ACy1,By1);
ABCx2=max(ACx2,Bx2);
ABCy2=max(ACy2,By2);
dx=ABCx2-ABCx1,dy=ABCy2-ABCy1;
if(dx>=0 && dy>=0) arie=arie+dx*dy;
g<<arie<<" ";
g.close();
return 0;
}