#include<stdio.h>
#define ull long long
long long int a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y, c1x, c1y, c2x, c2y;
long long int l1, L1, l2 ,L2, l3, L3, a1, a2, a3, a12, a123, P, A;
long long int p1, p2, p3, p12, p123, r1x, r2x, r1y, r2y, p13, p23, a13, a23;
void citire()
{
freopen("reuniune.in","r",stdin);
freopen("reuniune.out","w",stdout);
scanf("%lld %lld %lld %lld",&a1x, &a1y, &a2x, &a2y);
scanf("%lld %lld %lld %lld",&b1x, &b1y, &b2x, &b2y);
scanf("%lld %lld %lld %lld",&c1x, &c1y, &c2x, &c2y);
}
void laturi()
{
l1=(ull)a2x-a1x; L1=(ull)a2y-a1y;
l2=(ull)b2x-b1x; L2=(ull)b2y-b1y;
l3=(ull)c2x-c1x; L3=(ull)c2y-c1y;
a1=(ull)l1*L1;
a2=(ull)l2*L2;
a3=(ull)l3*L3;
p1=(ull)2*(l1+L1);
p2=(ull)2*(l2+L2);
p3=(ull)2*(l3+L3);
}
/*
long long minim(long long int x, long long int y)
{
if (x<=y) return x;
else return y;
}
long long maxim(long long int x, long long int y)
{
if (x>=y) return x;
else return y;
}
*/
template <class T> T minim(T a, T b)
{
if(a<b) return a;
return b;
}
template <class T> T maxim(T a, T b)
{
if(a>b) return a;
return b;
}
void intersectii()
{
long long int lat1, lat2;
r1x=maxim(a1x,b1x);
r1y=maxim(a1y,b1y);
r2x=minim(a2x,b2x);
r2y=minim(a2y,b2y);
lat1=(ull)r2x-r1x;
lat2=(ull)r2y-r1y;
a12=(ull)lat1*lat2;
p12=(ull)2*(lat1+lat2);
r1x=maxim(a1x,c1x);
r1y=maxim(a1y,c1y);
r2x=minim(a2x,c2x);
r2y=minim(a2y,c2y);
lat1=(ull)r2x-r1x;
lat2=(ull)r2y-r1y;
a13=(ull)lat1*lat2;
p13=(ull)2*(lat1+lat2);
r1x=maxim(b1x,c1x);
r1y=maxim(b1y,c1y);
r2x=minim(b2x,c2x);
r2y=minim(b2y,c2y);
lat1=r2x-r1x;
lat2=r2y-r1y;
a23=lat1*lat2;
p23=2*(lat1+lat2);
long long x1, x2, y1, y2;
x1=maxim(a1x,r1x);
x2=minim(a2x,r2x);
y1=maxim(a1y,r1y);
y2=minim(a2y,r2y);
lat1=x2-x1;
lat2=y2-y1;
a123=lat1*lat2;
p123=2*(lat1+lat2);
A=a1+a2+a3-a12-a13-a23+a123;
P=p1+p2+p3-p12-p13-p23+p123;
printf("%lld %lld",A,P);
}
int main()
{
citire();
laturi();
intersectii();
return 0;
}