#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;
int area_intersect(int xmin1, int ymin1, int xmax1, int ymax1,
int xmin2, int ymin2, int xmax2, int ymax2)
{
int overlapx = max(0, min(xmax1, xmax2) - max(xmin1, xmin2));
int overlapy = max(0, min(ymax1, ymax2) - max(ymin1, ymin2));
return overlapx * overlapy;
}
int perim_intersect(int xmin1, int ymin1, int xmax1, int ymax1,
int xmin2, int ymin2, int xmax2, int ymax2)
{
int overlapx = max(0, min(xmax1, xmax2) - max(xmin1, xmin2));
int overlapy = max(0, min(ymax1, ymax2) - max(ymin1, ymin2));
return 2 * (overlapx + overlapy);
}
int main(int argc, char* argv[])
{
ifstream fin("reuniune.in");
int xmin1, xmax1, ymin1, ymax1;
int xmin2, xmax2, ymin2, ymax2;
int xmin3, xmax3, ymin3, ymax3;
int 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));
int perim12 = perim_intersect(xmin1, ymin1, xmax1, ymax1, xmin2, ymin2, xmax2, ymax2);
int perim23 = perim_intersect(xmin3, ymin3, xmax3, ymax3, xmin2, ymin2, xmax2, ymax2);
int perim13 = perim_intersect(xmin1, ymin1, xmax1, ymax1, xmin3, ymin3, xmax3, ymax3);
int perim34 = perim_intersect(xmin3, ymin3, xmax3, ymax3, xmin4, ymin4, xmax4, ymax4);
int area12 = area_intersect(xmin1, ymin1, xmax1, ymax1, xmin2, ymin2, xmax2, ymax2);
int area23 = area_intersect(xmin3, ymin3, xmax3, ymax3, xmin2, ymin2, xmax2, ymax2);
int area13 = area_intersect(xmin1, ymin1, xmax1, ymax1, xmin3, ymin3, xmax3, ymax3);
int area34 = area_intersect(xmin3, ymin3, xmax3, ymax3, xmin4, ymin4, xmax4, ymax4);
int perim1 = 2 * (xmax1 - xmin1 + ymax1 - ymin1);
int perim2 = 2 * (xmax2 - xmin2 + ymax2 - ymax1);
int perim3 = 2 * (xmax3 - xmin3 + ymax3 - ymin3);
int perim = 2 * (xmax1 - xmin1 + ymax1 - ymin1 + xmax2 - xmin2 + ymax2 - ymin2 + xmax3 - xmin3 + ymax3 - ymin3) - perim12 - perim23 - perim13 + perim34;
int 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;
}