Задача D. Макет города

Автор:Г. Гренкин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

У Пети на столе стоит макет центральной части города. Макет представляет собой N зданий в форме прямоугольных параллелепипедов, расположенных на плоской поверхности. Здания могут вплотную соприкасаться стенками.

Петя хочет оклеить верхние и боковые грани всех зданий цветной бумагой. Он решил заранее вычислить, сколько бумаги ему потребуется, учитывая, что соприкасающиеся части стенок можно не оклеивать.

Требуется написать программу, которая принимает на вход информацию о макете (для каждого здания известны его высота и координаты основания) и выводит искомую площадь бумаги.

Рекомендуется рассмотреть частичные решения

  1. N = 1.
  2. Здания не соприкасаются стенками.
  3. Все здания имеют одинаковую высоту.
  4. N ≤ 1000.

Формат входного файла

Входной файл содержит целое число N — количество зданий.

Далее следуют N пятёрок целых чисел: xi yi ui vi hi, где (xi, yi) и (ui, vi) — координаты двух противоположных углов основания здания в сантиметрах, hi — высота здания в сантиметрах.

Основания зданий представляют собой прямоугольники со сторонами, параллельными осям координат.

Формат выходного файла

Выходной файл должен содержать целое число S — искомую площадь в квадратных сантиметрах.

Ограничения

1 ≤ N ≤ 105.

0 ≤ xi < ui ≤ 10000, 0 ≤ yi < vi ≤ 10000, 0 < hi ≤ 100.

Сумма площадей верхних и боковых граней всех зданий без учёта соприкасающихся частей не превосходит 109.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1
0 5 5 7 3
52
2
2
0 5 5 7 3
3 2 6 5 4
97

0.038s 0.007s 15