#include<fstream>
using namespace std;
FILE *f , *g ;
typedef long long LL;
typedef long L ;
L x1 , x2 , x3 , x4 , x5 , x6 , y1 , y2 , y3 , y4 , y5 , y6 ;
LL d1 , d2 , d3 , d4 , A , P;
void citire();
void solve();
void tipar();
LL arie(LL x1 , LL x2 , LL y1 , LL y2);
LL perim(LL x1 , LL x2 , LL y1 , LL y2);
LL min(LL a , LL b ){return a<b?a:b ;}
LL max(LL a , LL b){return a>b?a:b; }
void inter(LL x1 , LL x2 , LL y1, LL y2 , LL x3 , LL x4 , LL y3 , LL y4)
{
LL a , b , c , d;
a=max(x1,x3);
b=min(x2,x4);
c=max(y1,y3);
d=min(y2,y4);
if(a > b || c > d )
a=b=c=d=0;
d1=a,d2=b,d3=c,d4=d;
}
int main()
{
citire();
solve();
tipar();
return 0;
}
void citire()
{
ifstream f("reuniune.in");
f>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4>>x5>>y5>>x6>>y6;
f.close();
}
void solve()
{
A+=arie(x1,x2,y1,y2)+arie(x3,x4,y3,y4)+arie(x5,x6,y5,y6);
P+=perim(x1,x2,y1,y2)+perim(x3,x4,y3,y4)+perim(x5,x6,y5,y6);
inter(x1,x2,y1,y2,x3,x4,y3,y4);
A-=arie(d1,d2,d3,d4);
P-=perim(d1,d2,d3,d4);
inter(x1,x2,y1,y2,x5,x6,y5,y6);
A-=arie(d1,d2,d3,d4);
P-=perim(d1,d2,d3,d4);
inter(x3,x4,y3,y4,x5,x6,y5,y6);
A-=arie(d1,d2,d3,d4);
P-=perim(d1,d2,d3,d4);
inter(x1,x2,y1,y2,d1,d2,d3,d4);
A+=arie(d1,d2,d3,d4);
P+=perim(d1,d2,d3,d4);
}
LL arie(LL x1 , LL x2 , LL y1 , LL y2)
{
return (x2-x1)*(y2-y1);
}
LL perim(LL x1 , LL x2 , LL y1 , LL y2)
{
return 2*((x2-x1)+(y2-y1));
}
void tipar()
{
ofstream g("reuniune.out");
g<<A<<' '<<P;
g.close();
}