Задача I. Горнолыжные соревнования

Автор:Жюри ROI-2004   Ограничение времени:2 сек
Входной файл:skier.in   Ограничение памяти:64 Мб
Выходной файл:skier.out  
Максимальный балл:100  

Условие

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

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

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

Требуется написать программу, которая определяет, какой минимальный общий штраф горнолыжник может получить при прохождении трассы.

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

В первой строке входного файла задано число N — количество ворот на трассе (0 ≤ N ≤ 500), в~следующих двух строках заданы Sx, Sy, Fx, Fy — координаты точек старта и финиша соответственно. В каждой из следующих N строк записаны четыре числа ai, bi, yi, ci — x-координаты левого и правого концов ворот, y-координата ворот и штраф за непрохождение данных ворот (ai < bi, Fy < yi < Sy, ci — целое число, 0≤ ci≤ 10000). Все координаты — целые числа, не превосходящие по модулю 10000.

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

В выходной файл выведите наименьший возможный общий штраф за прохождение трассы с точностью не менее 4 знаков после десятичной точки.

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

Входной файл (skier.in) Выходной файл (skier.out)
1
4
3 6
3 1
5 7 4 1
4 5 5 10
1 2 4 5
2 5 2 0
7.8126

0.039s 0.008s 17