#include <fstream>
#define LL long long
using namespace std;
ifstream f("reuniune.in");
ofstream g("reuniune.out");
long long L1,C1,L2,C2,L3,C3,L11,C11,L22,C22,L33,C33;
long long aria(LL x1,LL y1,LL x2,LL y2)
{
return (x2-x1)*(y2-y1);
}
long long perimetru(LL x1,LL y1,LL x2,LL y2)
{
return 2*(x2-x1)+2*(y2-y1);
}
int main()
{
f >> L1 >> C1 >> L11 >> C11;
f >> L2 >> C2 >> L22 >> C22;
f >> L3 >> C3 >> L33 >> C33;
long long i1x = max(L1, L2);
long long i2x = max(L2, L3);
long long i3x = max(L1, L3);
long long i1xx = min(L11, L22);
long long i2xx = min(L22, L33);
long long i3xx = min(L11, L33);
long long i1xxx = max(i1x, L3);
long long i2xxx = min(i1xx, L33);
long long i1y = max(C1, C2);
long long i2y = max(C2, C3);
long long i3y = max(C1, C3);
long long i1yy = min(C11, C22);
long long i2yy = min(C22, C33);
long long i3yy = min(C11, C33);
long long i1yyy = max(i1y, C3);
long long i2yyy = min(i1yy, C33);
if((i1x > i1xx)||(i1y > i1yy))
i1x = i1xx = i1y = i1yy = 0;
if((i2x > i2xx)||(i2y > i2yy))
i2x = i2xx = i2y = i2yy = 0;
if((i3x > i3xx)||(i3y > i3yy))
i3x = i3xx = i3y = i3yy = 0;
if((i1xxx > i2xxx)||(i1yyy > i2yyy))
i1xxx = i2xxx = i1yyy = i2yyy = 0;
long long Aria = aria(L1,C1,L11,C11)+aria(L2,C2,L22,C22)+aria(L3,C3,L33,C33)-aria(i1x,i1y,i1xx,i1yy)-aria(i2x,i2y,i2xx,i2yy)-aria(i3x,i3y,i3xx,i3yy)+aria(i1xxx,i1yyy,i2xxx,i2yyy);
g << Aria << " ";
long long Perimetru = perimetru(L1,C1,L11,C11)+perimetru(L2,C2,L22,C22)+perimetru(L3,C3,L33,C33)-perimetru(i1x,i1y,i1xx,i1yy)-perimetru(i2x,i2y,i2xx,i2yy)-perimetru(i3x,i3y,i3xx,i3yy)+perimetru(i1xxx,i1yyy,i2xxx,i2yyy);
g << Perimetru << '\n';
g.close();
return 0;
}