#include<stdio.h>
#define max(a,b)((a)>(b)?(a):(b))
#define min(a,b)((a)<(b)?(a):(b))
FILE*fin=fopen("reuniune.in","r");
FILE*fout=fopen("reuniune.out","w");
long xsr,ysr,xdr,ydr;
long xs[10],ys[10],xd[10],yd[10];
int intersectie(long xs1,long ys1,long xd1,long yd1,
long xs2,long ys2,long xd2,long yd2)
{
xsr=xs1;ysr=ys1;xdr=xd1;ydr=yd1;
if(xs1==xs2&&xd1==xd2&&ys1==ys2&&yd1==yd2) return 1;
if(xd2<=xdr&&xd2>=xsr&&yd2<=ydr&&yd2>=ysr)
{
xdr=xd2;
ydr=yd2;
xsr=max(xsr,xs2);
ysr=max(ysr,ys2);
}
else
if(xs2<=xdr&&xs2>=xsr&&ys2<=ydr&&ys2>=ysr)
{
xsr=xs2;
ysr=ys2;
xdr=min(xdr,xd2);
ydr=min(ydr,yd2);
}
if(xsr!=xs1||xdr!=xd1||ysr!=ys1||ydr!=yd1) return 1;
return 0;
}
int main()
{
long arie=0,p=0,a,b,c,d;
int i,j;
for(i=1;i<=3;i++)
fscanf(fin,"%ld%ld%ld%ld",&xs[i],&ys[i],&xd[i],&yd[i]);
fclose(fin);
for(i=1;i<=3;i++)
{
arie+=(xd[i]-xs[i])*(yd[i]-ys[i]);
p+=2*(xd[i]-xs[i])+2*(yd[i]-ys[i]);
}
for(i=1;i<3;i++)
for(j=i+1;j<=3;j++)
if((xd[i]-xs[i])*(yd[i]-ys[i])>(xd[j]-xs[j])*(yd[j]-ys[j]))
{
if(intersectie(xs[i],ys[i],xd[i],yd[i],xs[j],ys[j],xd[j],yd[j]))
{
arie-=(xdr-xsr)*(ydr-ysr);
p-=(2*(xdr-xsr)+2*(ydr-ysr));
}
}
else
{
if(intersectie(xs[j],ys[j],xd[j],yd[j],xs[i],ys[i],xd[i],yd[i]))
{
arie-=(xdr-xsr)*(ydr-ysr);
p-=(2*(xdr-xsr)+2*(ydr-ysr));
}
}
a=xsr;b=ysr;c=xdr;d=ydr;
if((c-a)*(d-b)>(xd[1]-xs[1])*(yd[1]-ys[1]))
{
if(intersectie(a,b,c,d,xs[1],ys[1],xd[1],yd[1]))
{
arie+=(xdr-xsr)*(ydr-ysr);
p+=2*(xdr-xsr)+2*(ydr-ysr);
}
}
else
if(intersectie(xs[1],ys[1],xd[1],yd[1],a,b,c,d))
{
arie+=(xdr-xsr)*(ydr-ysr);
p+=2*(xdr-xsr)+2*(ydr-ysr);
}
fprintf(fout,"%ld%c%ld",arie,' ',p);
fclose(fout);
return 0;
}