#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;
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 &x,long long &y, long long &z,long long &t){
x=max(b[1],a[1]);
y=max(b[2],a[2]);
z=min(b[3],a[3]);
t=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,x,y,z,t);
ar-=arie(x,y,z,t);
p-=perimetru(x,y,z,t);
cintersectie(a,c,x,y,z,t);
ar-=arie(x,y,z,t);
p-=perimetru(x,y,z,t);
cintersectie(b,c,x,y,z,t);
ar-=arie(x,y,z,t);
p-=perimetru(x,y,z,t);
a[1]=x;
a[2]=y;
a[3]=z;
a[4]=t;
cintersectie(a,c,x,y,z,t);
ar+=arie(x,y,z,t);
p+=perimetru(x,y,z,t);
g<<ar<<" "<<p;
}