#include <cstdio>
#include <cassert>
int max(int k1,int k2)
{
if (k1>k2)
return k1;
else
return k2;
}
int min(int k1,int k2)
{
if (k1<k2)
return k1;
else
return k2;
}
int main()
{
int arie=0,perimetru=0,x=0,y=0,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,y1=0,y2=0,y3=0,y4=0,y5=0,y6=0;
assert(freopen("reuniune.in","r",stdin));
assert(freopen("reuniune.out","w",stdout));
assert(scanf("%d%d%d%d",&x1,&y1,&x2,&y2));
assert(scanf("%d%d%d%d",&x3,&y3,&x4,&y4));
assert(scanf("%d%d%d%d",&x5,&y5,&x6,&y6));
arie=(x2-x1)*(y2-y1)+(x4-x3)*(y4-y3)+(x6-x5)*(y6-y5);
x=(min(min(x2,x4),x6)-max(max(x1,x3),x5))*(min(min(y2,y4),y6)-max(max(y1,y3),y5));
perimetru=2*(x2+y2+x4+y4+x6+y6-x1-y1-x3-y3-x5-y5);
y=2*((min(min(x2,x4),x6)-max(max(x1,x3),x5))+(min(min(y2,y4),y6)-max(max(y1,y3),y5)));
arie+=x;
x=(min(x2,x4)-max(x1,x3))*(min(y2,y4)-max(y3,y1))+(min(x2,x6)-max(x1,x5))*(min(y2,y6)-max(y1,y5))+(min(x6,x4)-max(x5,x3))*(min(y6,y4)-max(y3,y5));
arie-=x;
perimetru+=y;
y=2*((min(x2,x4)-max(x1,x3))+(min(y2,y4)-max(y3,y1))+(min(x2,x6)-max(x1,x5))+(min(y2,y6)-max(y1,y5))+(min(x6,x4)-max(x5,x3))+(min(y6,y4)-max(y3,y5)));
perimetru-=y;
assert(printf("%d %d\n",arie,perimetru));
return 0;
}