#include<stdio.h>
typedef struct {
int x,y,u,v;
}D;
long long d,p;
D a,b,c,x,y,z,t;
long long A(D a)
{
return 1LL*(a.u-a.x)*(a.v-a.y);
}
long long P(D a)
{
return 2LL*(a.u-a.x+a.v-a.y);
}
D R(D a,D b)
{
D n;
n.x=a.x<b.x?b.x:a.x,n.u=a.u<b.u?a.u:b.u,n.y=a.y<b.y?b.y:a.y,n.v=a.v<b.v?a.v:b.v;
if(n.x>n.u||n.y>n.v)
n.x=n.y=n.u=n.v=0;
return n;
}
int main()
{
freopen("reuniune.in","r",stdin),freopen("reuniune.out","w",stdout),scanf("%d%d%d%d",&a.x,&a.y,&a.u,&a.v),
scanf("%d%d%d%d",&b.x,&b.y,&b.u,&b.v),scanf("%d%d%d%d",&c.x,&c.y,&c.u,&c.v),x=R(a,b),y=R(a,c),z=R(b,c),t=R(x,c);
d=A(a)+A(b)+A(c)-A(x)-A(y)-A(z)+A(t),p=P(a)+P(b)+P(c)-P(x)-P(y)-P(z)+P(t),printf("%lld %lld",d,p);
return 0;
}