#include <fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
long long x1[3], x2[3], y1[3], y2[3];
long long arie2(int i1, int i2) {
long long ret=0;
if(min(x2[i1], x2[i2])>max(x1[i1], x1[i2])&&min(y2[i1], y2[i2])>max(y1[i1], y1[i2])) {
ret=(min(x2[i1], x2[i2])-max(x1[i1], x1[i2]))*(min(y2[i1], y2[i2])-max(y1[i1], y1[i2]));
}
return ret;
}
long long perim2(int i1, int i2) {
long long ret=0;
if(min(x2[i1], x2[i2])>max(x1[i1], x1[i2])&&min(y2[i1], y2[i2])>max(y1[i1], y1[i2])) {
ret=(min(x2[i1], x2[i2])-max(x1[i1], x1[i2]))+(min(y2[i1], y2[i2])-max(y1[i1], y1[i2]));
ret*=2;
}
return ret;
}
int main()
{
long long i, arie=0, perim=0;
for(i=0;i<3;i++) {
fin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
arie+=(x2[i]-x1[i])*(y2[i]-y1[i]);
perim+=((x2[i]-x1[i])+(y2[i]-y1[i]))*2;
}
arie-=arie2(0, 1);
arie-=arie2(0, 2);
arie-=arie2(1, 2);
perim-=perim2(0, 1);
perim-=perim2(0, 2);
perim-=perim2(1, 2);
if(min(x2[0], min(x2[1], x2[2]))>max(x1[0], max(x1[1], x1[2]))&&min(y2[0], min(y2[1], y2[2]))>max(y1[0], max(y1[1], y1[2]))) {
arie+=(min(x2[0], min(x2[1], x2[2]))-max(x1[0], max(x1[1], x1[2])))*(min(y2[0], min(y2[1], y2[2]))-max(y1[0], max(y1[1], y1[2])));
}
if(min(x2[0], min(x2[1], x2[2]))>max(x1[0], max(x1[1], x1[2]))&&min(y2[0], min(y2[1], y2[2]))>max(y1[0], max(y1[1], y1[2]))) {
perim+=((min(x2[0], min(x2[1], x2[2]))-max(x1[0], max(x1[1], x1[2])))+(min(y2[0], min(y2[1], y2[2]))-max(y1[0], max(y1[1], y1[2]))))*2;
}
fout << arie << ' ' << perim;
return 0;
}