#include <fstream>
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long q1,q2,w1,w2,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,c4;
struct dreptunghi
{long long a,b,c,d;
}x1,x2,x3,q,w,e,r;
void intersectie(dreptunghi k,dreptunghi r,dreptunghi &h)
{
h.a=max(k.a,r.a);
h.b=max(k.b,r.b);
h.c=min(k.c,r.c);
h.d=min(k.d,r.d);
if(h.a>h.c||h.b>h.d)
{h.a=h.b=h.c=h.d=0;
}
}
long long arie(dreptunghi x)
{return (x.c-x.a)*(x.d-x.b);
}
long long perimetru(dreptunghi x)
{long long l1,l2;
l1=x.c-x.a;
l2=x.d-x.b;
return 2*l1+2*l2;
}
int main()
{
f>>x1.a>>x1.b>>x1.c>>x1.d>>x2.a>>x2.b>>x2.c>>x2.d>>x3.a>>x3.b>>x3.c>>x3.d;
intersectie(x1,x2,q);
intersectie(x1,x2,w);
intersectie(x2,x3,e);
intersectie(q,x3,r);
g<<arie(x1)+arie(x2)+arie(x3)-arie(q)-arie(w)-arie(e)+arie(r)<<" ";
g<<perimetru(x1)+perimetru(x2)+perimetru(x3)-perimetru(q)-perimetru(w)-perimetru(e)+perimetru(r);
return 0;
}