#include <cstdio>
using namespace std;
#define FIN "reuniune.in"
#define FOUT "reuniune.out"
typedef struct
{
int x0, x1;
int y0, y1;
} rect;
rect A[5];
int i;
inline long double MIN (int A, int B)
{
if (A > B) return (long double)B; else return (long double)A;
}
inline long double MAX (int A, int B)
{
if (A > B) return (long double)A; else return (long double)B;
}
long double MIN1 (int a, int b, int c)
{
if (b < a) a = b;
if (c < a) a = c;
return (long double)a;
}
long double MAX1 (int a, int b, int c)
{
if (b > a) a = b;
if (c > a) a = c;
return (long double)a;
}
long double INTER1 (rect A, rect B)
{
long double H, V;
H = MIN (A.x1, B.x1) - MAX (A.x0, B.x0);
if (H < 0) H = 0;
V = MIN (A.y1, B.y1) - MAX (A.y0, B.y0);
if (V < 0) V = 0;
return H * V;
}
long double INTER2(rect A, rect B, rect C)
{
long double H, V;
H = MIN1 (A.x1, B.x1, C.x1) - MAX1 (A.x0, B.x0, C.x0);
if (H < 0) H = 0;
V = MIN1 (A.y1, B.y1, C.y1) - MAX1 (A.y0, B.y0, C.y0);
if (V < 0) V = 0;
return H * V;
}
long double PER1 (rect A, rect B)
{
long double H, V;
H = MIN (A.x1, B.x1) - MAX (A.x0, B.x0);
if (H < 0) return 0;
V = MIN (A.y1, B.y1) - MAX (A.y0, B.y0);
if (V < 0) return 0;
return H*2 + V*2;
}
long double PER2(rect A, rect B, rect C)
{
long double H, V;
H = MIN1 (A.x1, B.x1, C.x1) - MAX1 (A.x0, B.x0, C.x0);
if (H < 0) return 0;
V = MIN1 (A.y1, B.y1, C.y1) - MAX1 (A.y0, B.y0, C.y0);
if (V < 0) return 0;
return H*2 + V*2;
}
void solve ( void )
{
int i, j;
double Best = 0;
for (i = 1; i <= 3; ++i)
Best += (long double)(A[i].x1 - A[i].x0)*(long double)(A[i].y1 - A[i].y0);
for (i = 1; i < 3; ++i)
for (j = i + 1; j <= 3; ++j)
Best -= INTER1(A[i], A[j]);
Best += INTER2(A[1], A[2], A[3]);
printf ("%.0Lf ", Best);
Best = 0;
for (i = 1; i <= 3; ++i)
Best += (long double)(A[i].x1 - A[i].x0)*2 + (long double)(A[i].y1 - A[i].y0)*2;
for (i = 1; i < 3; ++i)
for (j = i + 1; j <= 3; ++j)
Best -= PER1(A[i], A[j]);
Best += PER2(A[1], A[2], A[3]);
printf ("%.0Lf\n", Best);
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
for (i = 1; i <= 3; ++i)
scanf ("%d %d %d %d", &A[i].x0, &A[i].y0, &A[i].x1, &A[i].y1);
solve ();
return 0;
}