#include<stdio.h>
long double a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y, c1x, c1y, c2x, c2y;
long double l1, L1, l2 ,L2, l3, L3, a1, a2, a3, a12, a123, P, A;
long double 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("%Lf %Lf %Lf %Lf",&a1x, &a1y, &a2x, &a2y);
scanf("%Lf %Lf %Lf %Lf",&b1x, &b1y, &b2x, &b2y);
scanf("%Lf %Lf %Lf %Lf",&c1x, &c1y, &c2x, &c2y);
}
void laturi()
{
l1=a2x-a1x; L1=a2y-a1y;
l2=b2x-b1x; L2=b2y-b1y;
l3=c2x-c1x; L3=c2y-c1y;
a1=l1*L1;
a2=l2*L2;
a3=l3*L3;
p1=2*(l1+L1);
p2=2*(l2+L2);
p3=2*(l3+L3);
}
long double minim(long double x, long double y)
{
if (x<=y) return x;
else return y;
}
long double maxim(long double x, long double y)
{
if (x>=y) return x;
else return y;
}
void intersectii()
{
long double lat1, lat2;
r1x=maxim(a1x,b1x);
r1y=maxim(a1y,b1y);
r2x=minim(a2x,b2x);
r2y=minim(a2y,b2y);
lat1=r2x-r1x;
lat2=r2y-r1y;
a12=lat1*lat2;
p12=2*(lat1+lat2);
r1x=maxim(a1x,c1x);
r1y=maxim(a1y,c1y);
r2x=minim(a2x,c2x);
r2y=minim(a2y,c2y);
lat1=r2x-r1x;
lat2=r2y-r1y;
a13=lat1*lat2;
p13=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 double 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("%Lf %Lf",A,P);
}
int main()
{
citire();
laturi();
intersectii();
return 0;
}