#include <iostream>
#include <fstream.h>
#define LL long long
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
struct dr{ LL x[4],y[4]; } d[5];
LL arie_tot,per_tot;
int i,ok1,ok2,ok3,ok;
inline LL abs(LL x){ return x>0 ? x:-x; }
inline LL Minim(LL x,LL y){ return x<y ? x:y; }
inline LL Maxim(LL x,LL y){ return x>y ? x:y; }
inline LL Arie(LL x0, LL y0, LL x1, LL y1){
return abs(x0-x1)*abs(y0-y1);
}
inline LL Perimetru(LL x0, LL y0, LL x1, LL y1){
return abs(x0-x1)*2 + abs(y0-y1)*2;
}
inline LL e_in(LL x,LL y, int j){
if( d[j].x[0] <= x && x<=d[j].x[1]
&& d[j].y[0]<=y && y<=d[j].y[1] ) return 1;
return 0;
}
int ap(int i,int j){
int cine,k,kk,c;
LL per=0,ar=0,x,y;
cine=-1;
for(k=0;k<4;++k)
if( e_in(d[i].x[k],d[i].y[k],j) ){
cine=k;
if(k & 1){
kk=0; c=1;
x=Maxim(d[j].x[kk],d[i].x[kk]);
if(k==3) y=Minim(d[j].y[c],d[i].y[c]);
else y=Maxim(d[j].y[kk],d[i].y[kk]);
}else{
kk=1; c=0;
x=Minim(d[j].x[kk],d[i].x[kk]);
if(k==2) y=Maxim(d[j].y[c],d[i].y[c]);
else y=Minim(d[j].y[kk],d[i].y[kk]);
}
break;
}
if(cine==-1)return 0;//{ // ar putea fi adiacente
ar=Arie(x,y,d[i].x[cine],d[i].y[cine]);
per=Perimetru(x,y,d[i].x[cine],d[i].y[cine]);
//if(ar==0) per/=2;
if(i!=4 && j!=4){
arie_tot-=ar;
per_tot-=per;
}
else{
arie_tot+=ar;
per_tot+=per;
}
if(i==1 && j==2){
d[4].x[cine]=d[i].x[cine]; // in 4 sunt coord pt drept int 1 cu 2
d[4].y[cine]=d[i].y[cine];
if(cine==1 || cine==3) kk=cine-1;
else kk=cine+1;
d[4].x[kk]=x;
d[4].y[kk]=y;
if(d[4].x[0])d[4].x[2]=d[4].x[0], d[4].y[2]=d[4].y[1];
if(d[4].x[1])d[4].x[3]=d[4].x[1], d[4].y[3]=d[4].y[0];
if(d[4].x[2])d[4].x[0]=d[4].x[2], d[4].y[0]=d[4].y[3];
if(d[4].x[3])d[4].x[1]=d[4].x[3], d[4].y[1]=d[4].y[2];
}
return 1;
}
int main(){
for(i=1;i<=3;++i){
fin>>d[i].x[0]>>d[i].y[0]>>d[i].x[1]>>d[i].y[1];
d[i].x[2]=d[i].x[0]; d[i].y[2]=d[i].y[1];
d[i].x[3]=d[i].x[1]; d[i].y[3]=d[i].y[0];
arie_tot+=Arie(d[i].x[0],d[i].y[0],d[i].x[1],d[i].y[1]);
per_tot+=Perimetru(d[i].x[0],d[i].y[0],d[i].x[1],d[i].y[1]);
}
if(!ap(1,2)) ok1=ap(2,1); else ok1=1;
if(!ap(1,3)) ok2=ap(3,1); else ok2=1;
if(!ap(2,3)) ok3=ap(3,2); else ok3=0;
if(!ap(3,4)) ap(4,3);
if((ok1 && ok2) || (ok1 && ok3) ||(ok2 && ok3))
fout<<arie_tot<<" "<<per_tot<<"\n";
else fout<<"0"<<" "<<"0"<<"\n";
fin.close(); fout.close();
return 0;
}