#include <stdio.h>
#include <math.h>
#define INF 0x3f3f3f3f
double Xa,Ya,Xb,Yb,Xc,Yc,Xd,Yd,Xe,Ye,Xf,Yf;
double arie;
double perimetru;
double maxim1,maxim2,maxim3,maxim4;
double min(double a, double b)
{
if (a>b) return b;
return a;
}
double max(double a, double b)
{
if (a>b) return a;
return b;
}
double abs(double a)
{
if (a>=0) return a;
return -a;
}
int main()
{
freopen("reuniune.in","r",stdin);
scanf("%lf %lf %lf %lf", &Xa, &Ya, &Xb, &Yb);
scanf("%lf %lf %lf %lf", &Xc, &Yc, &Xd, &Yd);
scanf("%lf %lf %lf %lf", &Xe, &Ye, &Xf, &Yf);
arie=perimetru=0;
//aflu aria
//a
arie+=abs(Xa-Xb)*abs(Yb-Ya);
//b
arie+=abs(Xc-Xd)*abs(Yd-Yc);
//c
arie+=abs(Xe-Xf)*abs(Yf-Ye);
//ab si cd
maxim1=max(Xa,Xc);
maxim3=max(Ya,Yc);
maxim2=min(Xb,Xd);
maxim4=min(Yb,Yd);
arie-=abs(maxim1-maxim2)*abs(maxim3-maxim4);
//ab si ef
maxim1=max(Xa,Xe);
maxim3=max(Ya,Ye);
maxim2=min(Xb,Xf);
maxim4=min(Yb,Yf);
arie-=abs(maxim1-maxim2)*abs(maxim3-maxim4);
//cd si ef
maxim1=max(Xc,Xe);
maxim3=max(Yc,Ye);
maxim2=min(Xd,Xf);
maxim4=min(Yd,Yf);
arie-=abs(maxim1-maxim2)*abs(maxim3-maxim4);
//ab,cd si ef
maxim1=max(Xa,maxim1);
maxim3=max(Ya,maxim3);
maxim2=min(Xb,maxim2);
maxim4=min(Yb,maxim4);
arie+=abs(maxim1-maxim2)*abs(maxim3-maxim4);
//aflu perimetrul
//a
perimetru+=2*abs(Xa-Xb)+2*abs(Yb-Ya);
//b
perimetru+=2*abs(Xc-Xd)+2*abs(Yd-Yc);
//c
perimetru+=2*abs(Xe-Xf)+2*abs(Yf-Ye);
//ab si cd
maxim1=max(Xa,Xc);
maxim3=max(Ya,Yc);
maxim2=min(Xb,Xd);
maxim4=min(Yb,Yd);
perimetru-=2*abs(maxim1-maxim2)+2*abs(maxim3-maxim4);
//ab si ef
maxim1=max(Xa,Xe);
maxim3=max(Ya,Ye);
maxim2=min(Xb,Xf);
maxim4=min(Yb,Yf);
perimetru-=2*abs(maxim1-maxim2)+2*abs(maxim3-maxim4);
//cd si ef
maxim1=max(Xc,Xe);
maxim3=max(Yc,Ye);
maxim2=min(Xd,Xf);
maxim4=min(Yd,Yf);
perimetru-=2*abs(maxim1-maxim2)+2*abs(maxim3-maxim4);
//ab,cd si ef
maxim1=max(Xa,maxim1);
maxim3=max(Ya,maxim3);
maxim2=min(Xb,maxim2);
maxim4=min(Yb,maxim4);
perimetru+=2*abs(maxim1-maxim2)+2*abs(maxim3-maxim4);
freopen("reuniune.out","w",stdout);
printf("%.lf ",arie);
printf("%.lf",perimetru);
return 0;
}