#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("reuniune.in");
ofstream out("reuniune.out");
int x1[4],x2[4],y1[4],y2[4],p[10],q[10],k[10],l[10];
inline int modul(int a)
{
if(a>0)
return a;
return -a;
}
int arie1(int x1,int x2,int y1,int y2)
{
return modul(x2-x1)*modul(y2-y1);
}
int perimetru1(int x1,int x2,int y1,int y2)
{
return 2*(modul(x2-x1)+modul(y2-y1));
}
int arie2(int x1,int x2,int y1,int y2,int a1,int a2,int b1,int b2)
{
if(x2<=a1 || y2<=b1 || a2<=x1 || b2<=y1)
return 0;
p[1]=a1;
p[2]=a2;
p[3]=x1;
p[4]=x2;
sort(p+1,p+5);
q[1]=b1;
q[2]=b2;
q[3]=y1;
q[4]=y2;
sort(q+1,q+5);
return arie1(p[2],p[3],q[2],q[3]);
}
int perimetru2(int x1,int x2,int y1,int y2,int a1,int a2,int b1,int b2)
{
if(x2<=a1 || y2<=b1 || a2<=x1 || b2<=y1)
return 0;
p[1]=a1;
p[2]=a2;
p[3]=x1;
p[4]=x2;
sort(p+1,p+5);
q[1]=b1;
q[2]=b2;
q[3]=y1;
q[4]=y2;
sort(q+1,q+5);
return perimetru1(p[2],p[3],q[2],q[3]);
}
int arie3(int x1,int x2,int y1,int y2,int a1,int a2,int b1,int b2,int m1,int m2,int n1,int n2)
{
int p1,p2,q1,q2;
if(x2<=a1 || y2<=b1 || a2<=x1 || b2<=y1)
return 0;
p[1]=a1;
p[2]=a2;
p[3]=x1;
p[4]=x2;
sort(p+1,p+5);
q[1]=b1;
q[2]=b2;
q[3]=y1;
q[4]=y2;
sort(q+1,q+5);
k[1]=p[2];
k[2]=p[3];
l[1]=q[2];
l[2]=q[3];
if(k[2]<=m1 || l[2]<=n1 || m2<=k[1] || n2<=l[1])
return 0;
p[1]=k[1];
p[2]=k[2];
p[3]=m1;
p[4]=m2;
sort(p+1,p+5);
q[1]=l[1];
q[2]=l[2];
q[3]=n1;
q[4]=n2;
sort(q+1,q+5);
return arie1(p[2],p[3],q[2],q[3]);
}
int perimetru3(int x1,int x2,int y1,int y2,int a1,int a2,int b1,int b2,int m1,int m2,int n1,int n2)
{
int p1,p2,q1,q2;
if(x2<=a1 || y2<=b1 || a2<=x1 || b2<=y1)
return 0;
p[1]=a1;
p[2]=a2;
p[3]=x1;
p[4]=x2;
sort(p+1,p+5);
q[1]=b1;
q[2]=b2;
q[3]=y1;
q[4]=y2;
sort(q+1,q+5);
k[1]=p[2];
k[2]=p[3];
l[1]=q[2];
l[2]=q[3];
if(k[2]<=m1 || l[2]<=n1 || m2<=k[1] || n2<=l[1])
return 0;
p[1]=k[1];
p[2]=k[2];
p[3]=m1;
p[4]=m2;
sort(p+1,p+5);
q[1]=l[1];
q[2]=l[2];
q[3]=n1;
q[4]=n2;
sort(q+1,q+5);
return perimetru1(p[2],p[3],q[2],q[3]);
}
int main()
{
int s=0,p=0;
in>>x1[1]>>y1[1]>>x2[1]>>y2[1];
in>>x1[2]>>y1[2]>>x2[2]>>y2[2];
in>>x1[3]>>y1[3]>>x2[3]>>y2[3];
s=arie1(x1[1],x2[1],y1[1],y2[1]);
s+=arie1(x1[2],x2[2],y1[2],y2[2]);
s+=arie1(x1[3],x2[3],y1[3],y2[3]);
s-=arie2(x1[1],x2[1],y1[1],y2[1],x1[3],x2[3],y1[3],y2[3]);
s-=arie2(x1[1],x2[1],y1[1],y2[1],x1[2],x2[2],y1[2],y2[2]);
s-=arie2(x1[2],x2[2],y1[2],y2[2],x1[3],x2[3],y1[3],y2[3]);
s+=arie3(x1[1],x2[1],y1[1],y2[1],x1[2],x2[2],y1[2],y2[2],x1[3],x2[3],y1[3],y2[3]);
out<<s<<" ";
p=0;
p=perimetru1(x1[1],x2[1],y1[1],y2[1]);
p+=perimetru1(x1[2],x2[2],y1[2],y2[2]);
p+=perimetru1(x1[3],x2[3],y1[3],y2[3]);
p-=perimetru2(x1[1],x2[1],y1[1],y2[1],x1[3],x2[3],y1[3],y2[3]);
p-=perimetru2(x1[1],x2[1],y1[1],y2[1],x1[2],x2[2],y1[2],y2[2]);
p-=perimetru2(x1[2],x2[2],y1[2],y2[2],x1[3],x2[3],y1[3],y2[3]);
p+=perimetru3(x1[1],x2[1],y1[1],y2[1],x1[2],x2[2],y1[2],y2[2],x1[3],x2[3],y1[3],y2[3]);
out<<p<<"\n";
return 0;
}