#include <algorithm>
#include <cmath>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <string>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>
using namespace std;
long long area_intersect(long long xmin1, long long ymin1, long long xmax1, long long ymax1,
long long xmin2, long long ymin2, long long xmax2, long long ymax2)
{
long long overlapx = max(0LL, min(xmax1, xmax2) - max(xmin1, xmin2));
long long overlapy = max(0LL, min(ymax1, ymax2) - max(ymin1, ymin2));
return overlapx * overlapy;
}
long long perim_intersect(long long xmin1, long long ymin1, long long xmax1, long long ymax1,
long long xmin2, long long ymin2, long long xmax2, long long ymax2)
{
long long overlapx = max(0LL, min(xmax1, xmax2) - max(xmin1, xmin2));
long long overlapy = max(0LL, min(ymax1, ymax2) - max(ymin1, ymin2));
return 2 * (overlapx + overlapy);
}
int main(int argc, char* argv[])
{
ifstream fin("reuniune.in");
long long xmin1, xmax1, ymin1, ymax1;
long long xmin2, xmax2, ymin2, ymax2;
long long xmin3, xmax3, ymin3, ymax3;
long long xmin4, xmax4, ymin4, ymax4;
if (fin.is_open())
{
fin >> xmin1 >> ymin1 >> xmax1 >> ymax1;
fin >> xmin2 >> ymin2 >> xmax2 >> ymax2;
fin >> xmin3 >> ymin3 >> xmax3 >> ymax3;
fin.close();
}
xmin4 = max(xmin1, xmin2);
xmax4 = max(xmin4, min(xmax1, xmax2));
ymin4 = max(ymin1, ymin2);
ymax4 = max(ymin4, min(ymax1, ymax2));
long long perim12 = perim_intersect(xmin1, ymin1, xmax1, ymax1, xmin2, ymin2, xmax2, ymax2);
long long perim23 = perim_intersect(xmin3, ymin3, xmax3, ymax3, xmin2, ymin2, xmax2, ymax2);
long long perim13 = perim_intersect(xmin1, ymin1, xmax1, ymax1, xmin3, ymin3, xmax3, ymax3);
long long perim34 = perim_intersect(xmin3, ymin3, xmax3, ymax3, xmin4, ymin4, xmax4, ymax4);
long long area12 = area_intersect(xmin1, ymin1, xmax1, ymax1, xmin2, ymin2, xmax2, ymax2);
long long area23 = area_intersect(xmin3, ymin3, xmax3, ymax3, xmin2, ymin2, xmax2, ymax2);
long long area13 = area_intersect(xmin1, ymin1, xmax1, ymax1, xmin3, ymin3, xmax3, ymax3);
long long area34 = area_intersect(xmin3, ymin3, xmax3, ymax3, xmin4, ymin4, xmax4, ymax4);
long long perim1 = 2 * (xmax1 - xmin1 + ymax1 - ymin1);
long long perim2 = 2 * (xmax2 - xmin2 + ymax2 - ymin2);
long long perim3 = 2 * (xmax3 - xmin3 + ymax3 - ymin3);
long long perim = perim1 + perim2 + perim3 - perim12 - perim23 - perim13 + perim34;
long long area = (xmax1 - xmin1) * (ymax1 - ymin1) + (xmax2 - xmin2) * (ymax2 - ymin2) + (xmax3 - xmin3) * (ymax3 - ymin3) - area12 - area13 - area23 + area34;
ofstream fout;
fout.open("reuniune.out");
fout << area << " "<< perim << endl;
fout.close();
return 0;
}