#include <fstream>
using namespace std;
ifstream cin("reuniune.in");
ofstream cout("reuniune.out");
#define int long long
struct pcte{
int x1,y1,x2,y2;
} v[3];
int arie(int x1,int y1,int x2,int y2){
if(x1>x2) return 0;
if(y1>y2) return 0;
return (x2-x1)*(y2-y1);
}
signed main()
{
int i,j,maxx1=-1e18,minx1=1e18,maxx2=-1e18,minx2=1e18,maxy1=-1e18,miny1=1e18,maxy2=-1e18,miny2=1e18,rasp=0;
for(i=0;i<3;i++){
cin>>v[i].x1>>v[i].y1>>v[i].x2>>v[i].y2;
maxx1=max(maxx1,v[i].x1);
minx1=min(minx1,v[i].x1);
maxx2=max(maxx2,v[i].x2);
minx2=min(minx2,v[i].x2);
maxy1=max(maxy1,v[i].y1);
miny1=min(miny1,v[i].y1);
maxy2=max(maxy2,v[i].y2);
miny2=min(miny2,v[i].y2);
}
for(i=0;i<3;i++){
rasp+=arie(v[i].x1,v[i].y1,v[i].x2,v[i].y2);
}
for(i=0;i<3;i++){
for(j=i+1;j<3;j++){
rasp-=arie(max(v[i].x1,v[j].x1),max(v[i].y1,v[j].y1),min(v[i].x2,v[j].x2),min(v[i].y2,v[j].y2));
}
}
rasp+=arie(maxx1,maxy1,minx2,miny2);
cout<<rasp<<" "<<(maxx2-minx1)*2+(maxy2-miny1)*2;
return 0;
}