#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
int main()
{
freopen ("reuniune.in","r",stdin);
freopen ("reuniune.out","w", stdout);
ll x1A, x1B, x1C, y1A, y1B, y1C, x2A, x2B, x2C, y2A, y2B, y2C;
scanf("%lld%lld%lld%lld", &x1A, &y1A, &x2A, &y2A);
scanf("%lld%lld%lld%lld", &x1B, &y1B, &x2B, &y2B);
scanf("%lld%lld%lld%lld", &x1C, &y1C, &x2C, &y2C);
ll Aria = (x2A - x1A)*(y2A - y1A) + (x2B - x1B)*(y2B - y1B) + (x2C - x1C)*(y2C - y1C);
ll Perimetru = (x2A - x1A) + (y2A - y1A) + (x2B - x1B) + (y2B - y1B) + (x2C - x1C) + (y2C - y1C);
Perimetru *= 2;
if (x2A == x1A) Perimetru -= y2A - y1A;
if (y2A == y1A) Perimetru -= x2A - x1A;
if (x2B == x1B) Perimetru -= y2B - y1B;
if (y2B == y1B) Perimetru -= x2B - x1B;
if (x2C == x1C) Perimetru -= y2C - y1C;
if (y2C == y1C) Perimetru -= x2C - x1C;
ll x1, y1, x2, y2;
x1 = max(x1A, x1B);
y1 = max(y1A, y1B);
x2 = min(x2A, x2B);
y2 = min(y2A, y2B);
if (x1 <= x2 && y1 <= y2) {
Aria -= (y2 - y1) * (x2 - x1);
Perimetru -= 2 * ( (x2 - x1) + (y2 - y1) );
}
x1 = max(x1A, x1C);
y1 = max(y1A, y1C);
x2 = min(x2A, x2C);
y2 = min(y2A, y2C);
if (x1 <= x2 && y1 <= y2) {
Aria -= (y2 - y1) * (x2 - x1);
Perimetru -= 2 * ( (x2 - x1) + (y2 - y1) );
}
x1 = max(x1C, x1B);
y1 = max(y1C, y1B);
x2 = min(x2C, x2B);
y2 = min(y2C, y2B);
if (x1 <= x2 && y1 <= y2) {
Aria -= (y2 - y1) * (x2 - x1);
Perimetru -= 2 * ( (x2 - x1) + (y2 - y1) );
}
x1 = max(x1A, max(x1B, x1C));
y1 = max(y1A, max(y1B, y1C));
x2 = min(x2A, min(x2B, x2C));
y2 = min(y2A, min(y2B, y2C)); {
Aria += (y2 - y1) * (x2 - x1);
Perimetru += 2 * ( (x2 - x1) + (y2 - y1) );
}
printf("%lld %lld", Aria, Perimetru);
return 0;
}