#include <cstdio>
#include <algorithm>
using namespace std;
int a[10][10],A[10][10],N,i,j;
long long x1,x2,x3,y11,y21,y31,X1,X2,X3,Y1,Y2,Y3;
void intersectie(int ind,int ind2)
{
++N;
A[N][1]=max(a[ind][1],a[ind2][1]);
A[N][2]=max(a[ind][2],a[ind2][2]);
A[N][3]=min(a[ind][3],a[ind2][3]);
A[N][4]=min(a[ind][4],a[ind2][4]);
if (A[N][1]>A[N][3]||A[N][2]>A[N][4])
{
A[N][1]=A[N][2]=A[N][3]=A[N][4]=0;
}
return ;
}
long long arie(int ind,int a[10][10])
{
return 1LL*((a[ind][3]-a[ind][1])*(a[ind][4]-a[ind][2]));
}
long long perimetru(int ind,int a[10][10])
{
return 2LL*((a[ind][3]-a[ind][1])+(a[ind][4]-a[ind][2]));
}
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
for (i=1; i<=3; i++)
for (j=1; j<=4; j++)
scanf("%d ",&a[i][j]);
intersectie(1,2);
intersectie(1,3);
intersectie(2,3);
x1=arie(1,a);
x2=arie(2,a);
x3=arie(3,a);
y11=arie(1,A);
y21=arie(2,A);
y31=arie(3,A);
X1=perimetru(1,a);
X2=perimetru(2,a);
X3=perimetru(3,a);
Y1=perimetru(1,A);
Y2=perimetru(2,A);
Y3=perimetru(3,A);
printf("%lld %lld",x1+x2+x3-y11-y21,X1+X2+X3-Y1-Y2);
return 0;
}