Налагодження#7865

Налагодження

1 секунда
122,174 мегабайта
Середня

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

Отже, ви і ваш printf перебуваєте в пошуках рядка коду, який призводить до збою релізу. Тим не менш, вам пощастило: додавання операторів printf у цю програму не впливає ні на помилку (вона все одно падає в тому ж вихідному рядку коду), ні на час виконання (принаймні, не особливо). Тому навіть наївний підхід, що полягає в установці оператора printf перед кожним рядком, запуску програми до її збою і перевірці останнього надрукованого рядка, буде працювати.

Однак для додавання кожної інструкції printf у код потрібен деякий час, та й програма може мати багато рядків. Тому, можливо, найкращий план полягатиме в тому, щоб помістити інструкцію printf у середину програми. Потім запустити програму і побачити, чи стався збій перед доданою командою printf, після чого продовжити пошук у першій або другій половині коду.

Але знову ж таки, запуск програми може зайняти багато часу, тому найбільш ефективна стратегія часу може бути чимось середнім. Напишіть програму, яка обчислить мінімальний час найгіршого випадку, щоб знайти рядок зі збоєм (незалежно від того, де він знаходиться), припускаючи, що ви обираєте оптимальну стратегію для розміщення своїх операторів printf.

Ми випускаємо нову версію через п'ять годин, тому задача загострюється і повинна бути вирішена якнайшвидше.

Вхідні дані

Складається з одного рядка з трьома цілими числами:

  • (1 \leq n \leq 10^6) - кількість рядків коду;

  • (1 \leq r \leq 10^9) - кількість часу, яке йде на компіляцію і роботу програми до точки збою;

  • (1 \leq p \leq 10^9) - час, який потрібен на додавання одного рядка printf.

Ви вже запустили програму один раз і тому вже знаєте, що вона десь збоює.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading