Тарифи#2497

Тарифи

1 секунда
122,486 мегабайта
Легка

У наш час майже кожен мобільний оператор пропонує широкий вибір тарифів, що дозволяє кожному обрати найбільш підходящий варіант. Проте часто зробити цей вибір вручну досить складно.

Кожен тариф мобільного оператора характеризується трьома числами: абонентська плата c_i (у національній валюті), мінімальна тарифікована одиниця часу t_i (у секундах) та вартість однієї мінімальної одиниці часу p_i (у найменших грошових одиницях, де одна основна грошова одиниця дорівнює найменших). Загальна вартість дзвінків за місяць складається з абонентської плати та вартості кожного вихідного дзвінка. Вартість дзвінка за -м тарифом розраховується так: нехай тривалість дзвінка становить секунд. Якщо T < t_i, то вартість дзвінка дорівнює нулю. Інакше вартість дзвінка дорівнює добутку на p_i, де — найменше ціле число таке, що k \cdot t_i \geq T.

Опис тарифів та статистика вихідних дзвінків за місяць наведені нижче: — кількість дзвінків, а їхні тривалості d_1, \ldots, d_m у секундах. Знайдіть той тариф, для якого загальна вартість цих дзвінків буде мінімальною.

Вхідні дані

У першому рядку містяться два цілі числа та — кількість тарифів і кількість вихідних дзвінків (1 \leq n, m \leq 100).

Кожен із наступних рядків описує один тариф і містить три цілі числа: c_i (0 \leq c_i \leq 100), t_i (1 \leq t_i \leq 3600), p_i (0 \leq p_i \leq 1000).

Останній рядок містить цілих чисел d_1, \ldots, d_m (1 \leq d_i \leq 3600 для всіх від до ).

Вихідні дані

Виведіть номер тарифу, для якого загальна вартість вихідних дзвінків протягом заданого місяця буде мінімальною. Тарифи нумеруються від до у тому ж порядку, в якому подані у вхідних даних. Якщо таких тарифів декілька, виведіть будь-який з них.

Приклади

Приклад 1

Loading
Loading