#include <cstdio>
#define INF 1<<30
#define MIN(a,b)((a)<(b)?(a):(b))
#define MAX(a,b)((a)>(b)?(a):(b))
#define ll long long
struct drept{ int dx,dy,sx,sy; };
drept A,B,C,AB,AC,BC,ABC;
void Inters(drept& A, drept& B, drept& X)
{
X.dx = MIN( A.dx, B.dx );
X.dy = MIN( A.dy, B.dy );
X.sx = MAX( A.sx, B.sx );
X.sy = MAX( A.sy, B.sy );
if( X.dx < X.sx || X.dy < X.sy ||
A.dx < A.sx || A.dy < A.sy ||
B.dx < B.sx || B.dy < B.sy ) X.sx = INF;
}
ll Aria(drept A)
{
if( A.sx == INF ) return 0;
return 1LL * ( A.dx - A.sx ) * ( A.dy - A.sy );
}
ll Perim(drept A)
{
if( A.sx == INF ) return 0;
return 2LL * ( A.dx - A.sx + A.dy - A.sy );
}
int main(){
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
ll ans1,ans2;
scanf("%d %d %d %d", &A.sx, &A.sy, &A.dx, &A.dy );
scanf("%d %d %d %d", &B.sx, &B.sy, &B.dx, &B.dy );
scanf("%d %d %d %d", &C.sx, &C.sy, &C.dx, &C.dy );
Inters(A,B,AB);
Inters(A,C,AC);
Inters(B,C,BC);
Inters(AB,C,ABC);
ans1 = Aria(A) + Aria(B) + Aria(C) - Aria(AB) - Aria(AC) - Aria(BC) + Aria(ABC);
ans2 = Perim(A) + Perim(B) + Perim(C) - Perim(AB) - Perim(AC) - Perim(BC) + Perim(ABC);
printf("%lld %lld\n",ans1,ans2);
return 0;
}