#include<fstream>
using namespace std;
long long x11,y11,x12,y12,x21,y21,x22,y22,x31,y31,x32,y32;
int ok1,ok2,ok3,k;
long long a[6],p[6],aria,perim;
int intersectare(long long x11,long long y11,long long x12,long long y12,long long x21,long long y21,long long x22,long long y22)
{
if ( ((x21>=x11 && x21<=x12) && ((y21>=y11 && y21<=y12) || (y22>=y11 && y22<=y12))) || /*colt dreapta */
((x11>=x21 && x11<=x22) && ((y12>=y21 && y12<=y22) || (y11>=y21 && y11<=y22))) ) /*colt stanga*/
return 1;
return 0;
}
void calcul(long long x11,long long y11,long long x12,long long y12,long long x21,long long y21,long long x22,long long y22)
{
long long xi1,yi1,xi2,yi2;
xi1=max(x11,x21); yi1=max(y11,y21);
xi2=min(x12,x22); yi2=min(y12,y22);
a[k]=(xi2-xi1) * (yi2-yi1);
p[k]=(xi2-xi1)*2 + (yi2-yi1)*2;
}
void calculinter()
{
long long xi1,yi1,xi2,yi2;
xi1=max(max(x11,x21),x31); yi1=max(max(y11,y21),y31);
xi2=min(min(x12,x22),x32); yi2=min(min(y12,y22),y32);
a[k]=(xi2-xi1) * (yi2-yi1);
p[k]=(xi2-xi1)*2 + (yi2-yi1)*2;
}
int main()
{
ifstream fin("reuniune.in");
fin>>x11>>y11>>x12>>y12;
fin>>x21>>y21>>x22>>y22;
fin>>x31>>y31>>x32>>y32;
ok1=intersectare(x11,y11,x12,y12,x21,y21,x22,y22); /*D1 cu D2*/
ok2=intersectare(x11,y11,x12,y12,x31,y31,x32,y32); /*D1 cu D3*/
ok3=intersectare(x31,y31,x32,y32,x21,y21,x22,y22); /*D3 cu D2*/
k=1; /*D1 cu D2*/
if (ok1==1)
calcul(x11,y11,x12,y12,x21,y21,x22,y22);
k=2; /*D1 cu D3*/
if (ok2==1)
calcul(x11,y11,x12,y12,x31,y31,x32,y32);
k=3; /*D3 cu D2*/
if (ok3==1)
calcul(x31,y31,x32,y32,x21,y21,x22,y22);
k=4; /*D1 cu D2 cu D3*/
if (ok1==1 && ok2==1 && ok3==1)
calculinter();
ofstream fout("reuniune.out");
aria=(x12-x11)*(y12-y11) + (x22-x21)*(y22-y21) + (x32-x31)*(y32-y31) - a[1] - a[2] - a[3] + a[4];
perim=(x12-x11)*2+(y12-y11)*2 + (x22-x21)*2+(y22-y21)*2 + (x32-x31)*2+(y32-y31)*2 - p[1] - p[2] - p[3] + p[4];
if (ok1==1 && ok2==1 && ok3==1)
fout<<aria<<" "<<perim; else
fout<<"0";
fin.close();
fout.close();
return 0;
}