#include <fstream>
#include <cmath>
#define LL long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
struct rectangle {
LL x, y, x2, y2;
};
rectangle a, b, c;
LL sum;
LL area(rectangle b) {
return abs(b.x2-b.x)*abs(b.y2-b.y);
}
LL peri(rectangle b) {
return 2*(abs(b.x2-b.x)+abs(b.y2-b.y));
}
bool intersectable(rectangle a, rectangle b) {
if ( min(a.y2, b.y2) < max(a.y,b.y) ||
min(a.x2, b.x2) < max(a.x,b.x) )
return 0;
return 1;
}
rectangle join(rectangle a, rectangle b) {
if (intersectable(a,b) == 0)
return {0,0,0,0};
LL x, y, x2, y2;
y2 = min(a.y2, b.y2);
y = max(a.y , b.y );
x2 = min(a.x2, b.x2);
x = max(a.x , b.x );
return {x,y,x2,y2};
}
rectangle join3(rectangle a, rectangle b, rectangle c) {
if (intersectable(a,b) == 0 ||
intersectable(c,b) == 0 ||
intersectable(a,c) == 0)
return {0,0,0,0};
LL x, y, x2, y2;
y2 = min(c.y2, min(a.y2, b.y2));
y = max(a.y, max(a.y , b.y ));
x2 = min(c.x2, min(a.x2, b.x2));
x = max(c.x, max(a.x , b.x ));
return {x,y,x2,y2};
}
void read(rectangle &a) {
f >> a.x >> a.y >> a.x2 >> a.y2;
}
int main() {
read(a); read(b); read(c);
g << (area(a)+area(b)+area(c)) - ( area( join(a,b) )+area( join(a,c) )+area( join(b,c) ) ) + area( join3(a,b,c) ) << ' ';
g << (peri(a)+peri(b)+peri(c)) - ( peri( join(a,b) )+peri( join(a,c) )+peri( join(b,c) ) ) + peri( join3(a,b,c) );
}