Інгредієнти#9674

Інгредієнти

1 секунда
128 мегабайтів
Дуже легка

Шеф-кухар ресторану, який прагне отримати зірку Мішлен, хоче вразити інспекторів, представивши їм вибір своїх фірмових страв. Для цього вона виділила максимальний бюджет на загальну вартість і прагне максимізувати загальний престиж страв, які будуть показані інспекторам.

Щоб оцінити престиж своїх страв, шеф-кухар складає список рецептів, вказуючи їхню вартість та інгредієнти. Кожен рецепт описує, як отримати похідну страву з базової, додаючи інгредієнт. У рецепті зазначено дві додаткові характеристики: вартість застосування рецепту понад вартість базової страви та престиж, який додається до престижу базової страви. Шеф-кухар вимірює престиж у власних одиницях, які називаються "одиницями престижу".

Наприклад, список рецептів для приготування піци може виглядати так:

- pizza_tomato pizza_base tomato 1 2
- pizza_classic pizza_tomato cheese 5 5

Тут pizza_base - це елементарна страва, яка не має пов'язаного рецепту, настільки проста, що її вартість незначна (встановлена в ), а її престиж також дорівнює . Шеф-кухар може отримати похідну страву pizza_tomato, додавши помідор у базову страву pizza_base за євро, отримуючи одиниці престижу. pizza_classic отримується з pizza_tomato шляхом додавання сиру за додаткову плату , а престиж додається до престижу основної страви; це означає, що загальна вартість pizza_classic становить , а загальний престиж .

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

Вхідні дані

Перший рядок містить ціле число - бюджет (0 \le B \le 10000). Другий рядок містить кількість рецептів (0 \le n \le 10^6). Кожен з наступних рядків описує рецепт у вигляді наступних елементів, розділених пробілами: назва похідної страви (рядок); назва базової страви (рядок); доданий інгредієнт (рядок); додана ціна (ціле число); доданий престиж (ціле число).

  • Існує не більше різних страв (елементарних або похідних);

  • Вартість і престиж у рецептах варіюються від до (включно);

  • Рядки містять не більше символів ASCII (тільки літери, цифри та _).

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading