#include<fstream>
#include<algorithm>
using namespace std;
ifstream f ("reuniune.in");
ofstream g ("reuniune.out");
long long ar,a[10],b[10],c[10],x,y,z,t,p,d[10];
long long arie(long long x,long long y, long long z,long long t){
if(z>x&&t>y)return (z-x)*(t-y);
return 0;
}
void cintersectie(long long a[5],long long b[5],long long d[4]){
d[1]=max(b[1],a[1]);
d[2]=max(b[2],a[2]);
d[3]=min(b[3],a[3]);
d[4]=min(b[4],a[4]);
}
long long perimetru(long long x,long long y, long long z,long long t){
if(z>=x&&t>=y)return 2*(z-x)+2*(t-y);
return 0;
}
int main()
{
f>>a[1]>>a[2]>>a[3]>>a[4];
f>>b[1]>>b[2]>>b[3]>>b[4];
f>>c[1]>>c[2]>>c[3]>>c[4];
ar=arie(a[1],a[2],a[3],a[4])+arie(b[1],b[2],b[3],b[4])+arie(c[1],c[2],c[3],c[4]);
p=perimetru(a[1],a[2],a[3],a[4])+perimetru(b[1],b[2],b[3],b[4])+perimetru(c[1],c[2],c[3],c[4]);
cintersectie(a,b,d);
ar-=arie(d[1],d[2],d[3],d[4]);
p-=perimetru(d[1],d[2],d[3],d[4]);
cintersectie(a,c,d);
ar-=arie(d[1],d[2],d[3],d[4]);
p-=perimetru(d[1],d[2],d[3],d[4]);
cintersectie(b,c,d);
ar-=arie(d[1],d[2],d[3],d[4]);
p-=perimetru(d[1],d[2],d[3],d[4]);
cintersectie(d,c,d);
ar+=arie(d[1],d[2],d[3],d[4]);
p+=perimetru(d[1],d[2],d[3],d[4]);
g<<ar<<" "<<p;
}