Условие задачи
На плоскости расположено несколько прямоугольных листов. Напишите программу, которая находит площадь и периметр части плоскости, покрытой этими листами.
При этом, если рассматривать плоскость как координатную плоскость, предполагается, что расположение листов удовлетворяет следующим условиям $(1)$ и $(2)$.
- $(1)$ Координаты $x, y$ всех $4$ вершин прямоугольника каждого листа являются целыми числами от $0$ до $10000$ включительно, а каждая сторона прямоугольника параллельна оси $x$ или оси $y$.
- $(2)$ Количество листов составляет не более $10000$.
Имя входного файла — input.txt. В $1$-й строке файла input.txt через пробел записаны количество прямоугольников $n$ и целое число $r$, обозначающее тип задачи. В каждой строке, начиная со $2$-й, через пробел в порядке $x_1, y_1, x_2, y_2$ записаны значения координат левой нижней вершины $(x_1, y_1)$ и правой верхней вершины $(x_2, y_2)$ каждого листа.
Имя выходного файла — output.txt. В файл output.txt при $r = 1$ выведите в $1$-й строке площадь, а при $r = 2$ выведите в $1$-й строке площадь и во $2$-й строке — длину границы (периметр). В обоих случаях в конце поставьте перевод строки.
Кроме того, в $40\%$ тестовых данных координаты вершин прямоугольников находятся в пределах от $0$ до $100$ включительно, и в $1/2$ из них требуется найти только площадь. Более того, в $1/2$ всех тестовых данных требуется найти только площадь.
Пример 1
Пример ввода 1
5 1 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
Пример вывода 1
29
Пример 2
Пример ввода 2
5 2 0 0 3 2 1 1 2 5 0 4 6 5 3 3 5 6 5 0 7 6
Пример вывода 2
29 38
Пример 3
Пример ввода 3
2 2 0 0 8 9 0 0 9 8
Пример вывода 3
80 36
Пример 4
Пример ввода 4
3 2 2 2 8 8 3 0 4 9 5 0 7 9
Пример вывода 4
45 36