#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("reuniune.in");
ofstream fout("reuniune.out");
long long arie(int x1, int y1, int x2, int y2)
{
if(x1>x2 || y1>y2)
return 0;
return (x2-x1)*(y2-y1);
}
long long per(int x1, int y1, int x2, int y2)
{
if(x1>x2 || y1>y2)
return 0;
return 2*(x2-x1)+2*(y2-y1);
}
int x1[4], x2[4], y1[4], y2[4];
long long a, p;
int main()
{
fin>>x1[1]>>y1[1]>>x2[1]>>y2[1];
fin>>x1[2]>>y1[2]>>x2[2]>>y2[2];
fin>>x1[3]>>y1[3]>>x2[3]>>y2[3];
a=
arie(x1[1], y1[1], x2[1], y2[1]) +
arie(x1[2], y1[2], x2[2], y2[2]) +
arie(x1[3], y1[3], x2[3], y2[3]) -
arie(max(x1[1], x1[2]), max(y1[1], y1[2]), min(x2[1], x2[2]), min(y2[1], y2[2])) -
arie(max(x1[3], x1[2]), max(y1[3], y1[2]), min(x2[3], x2[2]), min(y2[3], y2[2])) -
arie(max(x1[1], x1[3]), max(y1[1], y1[3]), min(x2[1], x2[3]), min(y2[1], y2[3])) +
arie(max(max(x1[1], x1[2]), x1[3]), max(max(y1[1], y1[2]), y1[3]), min(x2[3], min(x2[1], x2[2])), min(y2[3], min(y2[1], y2[2])));
p=
per(x1[1], y1[1], x2[1], y2[1]) +
per(x1[2], y1[2], x2[2], y2[2]) +
per(x1[3], y1[3], x2[3], y2[3]) -
per(max(x1[1], x1[2]), max(y1[1], y1[2]), min(x2[1], x2[2]), min(y2[1], y2[2])) -
per(max(x1[3], x1[2]), max(y1[3], y1[2]), min(x2[3], x2[2]), min(y2[3], y2[2])) -
per(max(x1[1], x1[3]), max(y1[1], y1[3]), min(x2[1], x2[3]), min(y2[1], y2[3])) +
per(max(max(x1[1], x1[2]), x1[3]), max(max(y1[1], y1[2]), y1[3]), min(x2[3], min(x2[1], x2[2])), min(y2[3], min(y2[1], y2[2])));
fout<<a<<" "<<p<<"\n";
}