def min_cost(n, a, k, b):
# Минимальная стоимость
min_cost = float('inf'
# Перебираем количество упаковок от 0 до максимального возможного
for packs in range((n // k) + 2): # +2, чтобы учесть случай, когда нужно больше пирожных
# Количество пирожных, которые мы получим из упаковок
total_from_packs = packs * k
# Оставшиеся пирожные, которые нужно купить поштучно
remaining = max(0, n - total_from_packs)
# Общая стоимость
cost = packs * b + remaining * a
min_cost = min(min_cost, cost)
return min_cost
# Чтение входных данных
n = int(input("Введите количество пирожных: "

)
a = int(input("Введите стоимость одного пирожного: "

)
k = int(input("Введите количество пирожных в упаковке: "

)
b = int(input("Введите стоимость упаковки: "

)
# Вычисление и вывод результата
result = min_cost(n, a, k, b)
print(result)