#include <cstdio>
#include <algorithm>
using namespace std;
struct punct{
long long x,y;
punct(){}
punct(long long a,long long b){x = a;y = b;}
};
struct dreptunghi{
punct a1,a2;
dreptunghi(){}
dreptunghi(long long x,long long y,long long z,long long t){punct temp1(x,y);punct temp2(z,t);a1 = temp1;a2 = temp2;}
long long area(){return (a2.x-a1.x)*(a2.y-a1.y);}
long long perimeter(){return 2LL*((a2.x-a1.x)+(a2.y-a1.y));}
};
dreptunghi inter(dreptunghi B,dreptunghi C)
{
long long x1 = max(B.a1.x,C.a1.x);
long long x2 = min(B.a2.x,C.a2.x);
long long y1 = max(B.a1.y,C.a1.y);
long long y2 = min(B.a2.y,C.a2.y);
dreptunghi temp(x1,y1,x2,y2);
return temp;}
dreptunghi v[4];
int main()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
long long x1,x2,y1,y2;
for(int i = 1 ; i <= 3 ; i++)
{
scanf("%lld%lld%lld%lld",&x1,&y1,&x2,&y2);
dreptunghi temp(x1,y1,x2,y2);
v[i] = temp;
}
dreptunghi A = v[1];
dreptunghi B = v[2];
dreptunghi C = v[3];
printf("%lld ",A.area()+B.area()+C.area()-inter(A,B).area()-inter(B,C).area()-inter(A,C).area()+inter(inter(A,B),C).area());
printf("%lld",A.perimeter()+B.perimeter()+C.perimeter()-inter(A,B).perimeter()-inter(B,C).perimeter()-inter(A,C).perimeter()+inter(inter(A,B),C).perimeter());
return 0;
}