#include<cstdio>
#include<algorithm>
using namespace std;
struct drept
{
int x, y, x1, y1;
};
drept v[5];
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
int p1x,p1y,p2x,p2y;
long long r1,r2,r3,r4,arie1,arie2,arie3,per1,per2,per3,p1,p2,p3,p4;
scanf("%d%d%d%d%d%d%d%d%d%d%d%d",&v[1].x,&v[1].y,&v[1].x1,&v[1].y1,&v[2].x,&v[2].y,&v[2].x1,&v[2].y1,&v[3].x,&v[3].y,&v[3].x1,&v[3].y1);
p1x=max(v[1].x,v[2].x);
p1y=max(v[1].y,v[2].y);
p2x=min(v[1].x1,v[2].x1);
p2y=min(v[1].y1,v[2].y1);
r1=(p2x-p1x)*(p2y-p1y);
p1=2*(p2x-p1x)+2*(p2y-p1y);
p1x=max(v[1].x,v[3].x);
p1y=max(v[1].y,v[3].y);
p2x=min(v[1].x1,v[3].x1);
p2y=min(v[1].y1,v[3].y1);
r2=(p2x-p1x)*(p2y-p1y);
p2=2*(p2x-p1x)+2*(p2y-p1y);
p1x=max(v[2].x,v[3].x);
p1y=max(v[2].y,v[3].y);
p2x=min(v[2].x1,v[3].x1);
p2y=min(v[2].y1,v[3].y1);
r3=(p2x-p1x)*(p2y-p1y);
p3=2*(p2x-p1x)+2*(p2y-p1y);
p1x=max(v[1].x,max(v[2].x,v[3].x));
p1y=max(v[1].y,max(v[2].y,v[3].y));
p2x=min(v[1].x1,min(v[2].x1,v[3].x1));
p2y=min(v[1].y1,min(v[2].y1,v[3].y1));
r4=(p2x-p1x)*(p2y-p1y);
p4=2*(p2x-p1x)+2*(p2y-p1y);
arie1=(v[1].x1-v[1].x)*(v[1].y1-v[1].y);
arie2=(v[2].x1-v[2].x)*(v[2].y1-v[2].y);
arie3=(v[3].x1-v[3].x)*(v[3].y1-v[3].y);
per1=2*(v[1].x1-v[1].x)+2*(v[1].y1-v[1].y);
per2=2*(v[2].x1-v[2].x)+2*(v[2].y1-v[2].y);
per3=2*(v[3].x1-v[3].x)+2*(v[3].y1-v[3].y);
if(r1<0) r1=0;
if(r2<0) r2=0;
if(r3<0) r3=0;
if(r4<0) r4=0;
if(p1<0) p1=0;
if(p2<0) p2=0;
if(p3<0) p3=0;
if(p4<0) p4=0;
long long perimetru;
unsigned long long rezultat;
rezultat=1ULL*(arie1+arie2+arie3)-r1-r2-r3+r4;
//printf("%lld %lld %lld %lld %lld %lld %lld\n",per1,per2,per3,p1,p2,p3,p4);
perimetru=1LL*(per1+per2+per3)-p1-p2-p3+p4;
printf("%llu %lld",rezultat,perimetru);
return 0;
}
/*
rezultat=1ULL*(arie1+arie2+arie3)-r1-r2-r3+r4;
*/