#include <stdio.h>
#include <algorithm>
using namespace std;
struct punct
{
long long x,y;
};
void inter2(punct a,punct b,punct c,punct d,punct &r1,punct &r2)
{
r1.x=max(a.x,c.x);
r1.y=max(a.y,c.y);
r2.x=min(b.x,d.x);
r2.y=min(b.y,d.y);
}
long long aria(punct a,punct b)
{
return (b.x-a.x)*(b.y-a.y);
}
long long verif(punct a,punct b)
{
return a.x<=b.x&&a.y<=b.y;
}
long long per(punct a,punct b)
{
long long s=b.x-a.x+b.y-a.y;
if ((b.x-a.x>0)&&(b.y-a.y>0)) s*=2;
return s;
}
FILE*f=fopen("reuniune.in","r");
FILE*g=fopen("reuniune.out","w");
int main()
{
punct a1,b1,a2,b2,a3,b3,ar,br;
long long p,a;
fscanf(f,"%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld%lld",&a1.x,&a1.y,&b1.x,&b1.y,&a2.x,&a2.y,&b2.x,&b2.y,&a3.x,&a3.y,&b3.x,&b3.y);
a=aria(a1,b1)+aria(a2,b2)+aria(a3,b3);
p=per(a1,b1)+per(a2,b2)+per(a3,b3);
inter2(a1,b1,a2,b2,ar,br);
if (verif(ar,br)) {a-=aria(ar,br);p-=per(ar,br);}
inter2(a1,b1,a3,b3,ar,br);
if (verif(ar,br)) {a-=aria(ar,br);p-=per(ar,br);}
inter2(a3,b3,a2,b2,ar,br);
if (verif(ar,br)) {a-=aria(ar,br);p-=per(ar,br);}
inter2(ar,br,a1,b1,ar,br);
a+=aria(ar,br);
p+=per(ar,br);
fprintf(g,"%lld %lld",a,p);
fclose(g);
fclose(f);
return 0;
}