#include<fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
int x1[10],y1[10],x2[10],y2[10],i,j;
long long s,p,ar,per;
void reuniune(int i,int j,long long &x,long long &y)
{
x=(min(x2[i],x2[j])-max(x1[i],x1[j]))*(min(y2[i],y2[j])-max(y1[i],y1[j]));
y=(min(x2[i],x2[j])-max(x1[i],x1[j]))*2+(min(y2[i],y2[j])-max(y1[i],y1[j]))*2;
}
int main()
{
for(i=1;i<=3;i++)
f>>x1[i]>>y1[i]>>x2[i]>>y2[i];
for(i=1;i<=3;i++)
{
s+=(x2[i]-x1[i])*(y2[i]-y1[i]);
p+=(x2[i]-x1[i]+y2[i]-y1[i])*2;
}
ar=0;
per=0;
reuniune(1,2,ar,per);
s-=ar;
p-=per;
ar=0;
per=0;
reuniune(3,2,ar,per);
s-=ar;
p-=per;
ar=0;
per=0;
reuniune(1,3,ar,per);
s-=ar;
p-=per;
x1[4]=max(x1[1],x1[2]);
x2[4]=min(x2[1],x2[2]);
y1[4]=max(y1[1],y1[2]);
y2[4]=min(y2[1],y2[2]);
x1[5]=max(x1[1],x1[3]);
x2[5]=min(x2[1],x2[3]);
y1[5]=max(y1[1],y1[3]);
y2[5]=min(y2[1],y2[3]);
ar=0;
per=0;
reuniune(4,5,ar,per);
s+=ar;
p+=per;
g<<s<<" "<<p;
}