Степан вирішив досягти успіху не лише у спортивному програмуванні, а й у спорті. На жаль, минуло вже багато часу з його останнього тренування, тому, щоб набрати гарну форму, йому доведеться починати з нуля.
Придумати вправи для тренувань виявилося непросто, тому Степан вирішив пошукати ідеї в Інтернеті. Він знайшов сайт, на якому пропонувалося кілька серій тренувальних вправ. Кожна серія тренувань розрахована на днів. У кожен з цих днів пропонується виконувати одну «вправу дня» з рекомендаціями у вигляді A_i - B_i. Це означає, що для підвищення рівня сили потрібно виконувати вправу від A_i до B_i разів. Якщо виконувати вправу менше ніж A_i, або більше ніж B_i разів, то це принесе радше шкоду, ніж користь. Степан не хоче завдавати собі шкоди, тому буде робити від A_i до B_i разів, або зовсім не робити цю вправу.
Прочитавши всі описи вправ, Степан зрозумів, що цей курс не розрахований на новачків, але вирішив не здаватися і адаптувати курс вправ під себе. Він знає, що при вивченні -ї вправи йому доведеться втратити K_i рівнів сили, зате за виконання вправи разів його рівень сили зросте на F_i \cdot X. Степан не може вивчити і виконати вправу, якщо його поточний рівень сили менший за K_i. У дні, коли Степану не вистачає сил або часу тренуватися, він може пропускати тренування, і рівень його сили залишиться без зміни. Знаючи свої можливості, Степан розуміє, що якщо в якийсь день він виконає вправу більш ніж разів, то наступні днів він буде занадто втомленим, щоб займатися.
Якщо Степан виконає вправу більше разів в один із останніх днів серії тренувань, то він почне відпочивати з наступного дня, а закінчить вже після кінця серії. Степан хоче отримати від занять максимум користі, тому він планує витратити на них днів! Для кожної серії тренувань допоможіть йому визначити максимальний рівень сили, який він зможе досягти наприкінці. До початку тренувань рівень сили Степана дорівнює нулю.
Перший рядок вхідного файлу містить єдине ціле число (1 \leq N \leq 10^5) — кількість днів тренувань.
Другий рядок містить два цілих числа та (1 \leq T \leq 10^6, 1 \leq D \leq 10^5), якщо в якийсь день Степан виконає вправу більше разів, то йому доведеться відпочивати наступних днів. Наступні рядків описують вправи; i+2-ий рядок містить опис вправи в день . Кожна вправа описується числами A_i, B_i, K_i, F_i (0 \leq K_i \leq 10^9, 1 \leq A_i \leq B_i \leq 10^6, 1 \leq F_i \leq 10^6), розділеними одиночними пробілами,— де A_i, B_i відповідно рекомендований мінімум і максимум кількості разів виконання вправи, K_i — кількість втрачених рівнів сили при вивченні вправи, F_i— кількість рівнів сили, одержуваних за кожне виконання вправи.
Перший рядок вихідного файлу має містити одне ціле число — максимальний рівень сили, якого Степан може досягти до кінця тренувань. Наступний рядок повинен містити цілих чисел X_i — кількість разів виконання вправи в день . Якщо в -ий день він відпочивав, виведіть .
Приклад 1
Щоб досягти максимального рівня сили, треба в перший день виконувати вправу рази, щоб не довелося пропускати наступний день. У другий день Степан зможе збільшити свій рівень ще на (втрачає рівнів при вивченні та виконує вправу разів), але тоді він не зможе займатися день (третій день).
У четвертий день він збільшує свій рівень на , так як Степан виконав вправу більше разів, він змушений пропустити п'ятий.