#include<stdio.h>
#include<stdlib.h>
typedef struct
{
long double x,y,z,t;
}dreptunghi;
FILE*f=fopen("reuniune.in","r");
FILE*g=fopen("reuniune.out","w");
dreptunghi a,b,c;
void read()
{
fscanf(f,"%Lf %Lf %Lf %Lf",&a.x,&a.y,&a.z,&a.t);
fscanf(f,"%Lf %Lf %Lf %Lf",&b.x,&b.y,&b.z,&b.t);
fscanf(f,"%Lf %Lf %Lf %Lf",&c.x,&c.y,&c.z,&c.t);
}
long double arie(long double x,long double y, long double z, long double t)
{
long double area;
area=(z-x)*(t-y);
return (area);
}
long double max(long double a, long double b)
{
if(a>b) return a;
return b;
}
long double min(long double a, long double b)
{
if(a<b) return a;
return b;
}
long double perimetru(long double a, long double b, long double c, long double d)
{
return 2*(c-a+d-b);
}
long double max2(long double a, long double b, long double c)
{
if(a>b&&a>c) return a;
else if (b>c&&b>a) return b;
else return c;
}
long double min2(long double a, long double b, long double c)
{
if(a<b&&a<c) return a;
else if (b<c&&b<a) return b;
else return c;
}
void solve()
{
long double m,n,p,q,area=0,perim;
area=arie(a.x,a.y,a.z,a.t)+arie(b.x,b.y,b.z,b.t)+arie(c.x,c.y,c.z,c.t);
m=min2(a.x,b.x,c.x); n=min2(a.y,b.y,c.y); p=max2(a.z,b.z,c.z); q=max2(a.t,b.t,c.t);
perim=perimetru(m,n,p,q);
area-=arie(max(a.x,b.x),max(a.y,b.y),min(a.z,b.z),min(a.t,b.t));
area-=arie(max(a.x,c.x),max(a.y,c.y),min(a.z,c.z),min(a.t,c.t));
area-=arie(max(c.x,b.x),max(c.y,b.y),min(c.z,b.z),min(c.t,b.t));
area+=arie(max2(a.x,b.x,c.x),max2(a.y,b.y,c.y),min2(a.z,b.z,c.z),min2(a.t,b.t,c.t));
fprintf(g,"%.0Lf %.0Lf",area,perim);
}
int main()
{
read();
solve();
return 0;
}