#include <bits/stdc++.h>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
int64_t ax,ay,ax1,ay1,bx,by,bx1,by1,cx,cy,cx1,cy1;
int64_t AriaTotala(int64_t x,int64_t y,int64_t x1,int64_t y1)
{
if(x>x1||y>y1)
return 0;
return (x1-x)*(y1-y);
}
int64_t PerimetruTotal(int64_t x,int64_t y,int64_t x1,int64_t y1)
{
if(x>x1||y>y1)
return 0;
return 2*(x1-x)+2*(y1-y);
}
int main()
{
f>>ax>>ay>>ax1>>ay1>>bx>>by>>bx1>>by1>>cx>>cy>>cx1>>cy1;
int64_t A=AriaTotala(ax,ay,ax1,ay1),A1=PerimetruTotal(ax,ay,ax1,ay1);
int64_t B=AriaTotala(bx,by,bx1,by1),B1=PerimetruTotal(bx,by,bx1,by1);
int64_t C=AriaTotala(cx,cy,cx1,cy1),C1=PerimetruTotal(cx,cy,cx1,cy1);
int64_t A_B=AriaTotala(max(ax,bx),max(ay,by),min(ax1,bx1),min(ay1,by1));
int64_t A1_B1=PerimetruTotal(max(ax,bx),max(ay,by),min(ax1,bx1),min(ay1,by1));
int64_t A_C=AriaTotala(max(ax,cx),max(ay,cy),min(ax1,cx1),min(ay1,cy1));
int64_t A1_C1=PerimetruTotal(max(ax,cx),max(ay,cy),min(ax1,cx1),min(ay1,cy1));
int64_t B_C=AriaTotala(max(cx,bx),max(cy,by),min(cx1,bx1),min(cy1,by1));
int64_t B1_C1=PerimetruTotal(max(cx,bx),max(cy,by),min(cx1,bx1),min(cy1,by1));
int64_t A_B_C=AriaTotala(max(ax,max(cx,bx)),max(ay,max(cy,by)),min(ax1,min(cx1,bx1)),min(ay1,min(cy1,by1)));
int64_t A1_B1_C1=PerimetruTotal(max(ax,max(cx,bx)),max(ay,max(cy,by)),min(ax1,min(cx1,bx1)),min(ay1,min(cy1,by1)));
g<<A+B+C-A_B-A_C-B_C+A_B_C<<' '<<A1+B1+C1-A1_B1-A1_C1-B1_C1+A1_B1_C1;
return 0;
}