E. Парад
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
64 megabytes
ввод
input.txt
вывод
output.txt

Ни один день победы в Берляндии не обходился без парада военной техники. Этот год не является исключением. В связи с этим подготовка уже идёт полным ходом. Танки уже строятся в одну колонну, артиллерийские установки готовы стрелять, солдаты маршируют на главной площади... А у генерала военно-воздушных сил Генералова опять неприятности. За последний год в Берляндии полным ходом шло строительство небоскрёбов, поэтому самолётам теперь не так просто летать по городу. Было решено, что все самолёты будут лететь строго с юга на север, при этом на всём пути самолёта не должно встретиться ни одного небоскрёба, иначе праздник закончится трагически. В министерстве строительства были получены данные об n небоскрёбах (остальные здания достаточно маленькие и самолётам не помешают). Если смотреть на город с юга на север как на плоскость, то i-ое здание представляет собой прямоугольник высоты hi. Его самая западная точка имеет абсциссу li, а самая восточная точка — ri. Рельеф местности в городе плоский, поэтому основания всех зданий находятся на одном уровне. Ваша задача, как главного программиста министерства обороны, по данным о небоскрёбах найти огибающую ломаную, то есть такую что:

  • Если смотреть на город с юга на север как на плоскость, то любая часть любого здания будет находиться внутри или на границе области, ограниченной ломаной вместе с поверхностью земли.
  • Ломаная начинается и заканчивается на уровне поверхности земли, т.е. на высоте 0.
  • Звенья ломаной параллельны осям координат, т.е. могут быть только вертикальными или горизонтальными.
  • Вершины ломаной должны иметь целочисленные координаты.
  • На виде города с юга на север ломаная (вместе с поверхностью земли) ограничивает минимально возможную площадь.
  • Ломаная должна иметь наименьшую длину среди всех ломаных, ограничивающих вместе с поверхностью земли наименьшую площадь.
  • Последовательные звенья ломаной должны быть перпендикулярны.
Рисунок ко второму примеру (в правой части отмечена искомая огибающая ломаная).
Входные данные

В первой строке входного файла задано целое число n (1 ≤ n ≤ 100000). Следующие n строк содержат по три целых числа hi, li, ri (1 ≤ hi ≤ 109,  - 109 ≤ li < ri ≤ 109).

Выходные данные

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

Примеры
Входные данные
2
3 0 2
4 1 3
Выходные данные
6
0 0
0 3
1 3
1 4
3 4
3 0
Входные данные
5
3 -3 0
2 -1 1
4 2 4
2 3 7
3 6 8
Выходные данные
14
-3 0
-3 3
0 3
0 2
1 2
1 0
2 0
2 4
4 4
4 2
6 2
6 3
8 3
8 0