B. Ночная работа
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Однажды Васе поручили очень важное задание — написать за ночь программу, которая состоит из n строк кода. Вася уже очень устал и поэтому работает по следующей схеме: сначала он пишет v строк кода, выпивает стакан чая, после чего пишет уже строк, опять выпивает стакан чая, после пишет строк и так далее: , , , ...

Под выражением понимается целая часть от деления числа a на число b.

Как только текущая величина станет равной 0, Вася немедленно засыпает и просыпается только утром, когда программа должна быть уже полностью написана.

Васе интересно, какое наименьшее допустимое значение может принимать величина v, чтобы успеть написать не менее n строк кода до того момента, как он заснет.

Входные данные

Входные данные состоят из двух целых чисел n и k, записанных через пробел — размер программы в строках и коэффициент уменьшения производительности, 1 ≤ n ≤ 109, 2 ≤ k ≤ 10.

Выходные данные

Выведите единственное целое число — минимальное значение величины v, при котором Вася успеет написать программу за ночь.

Примеры
Входные данные
7 2
Выходные данные
4
Входные данные
59 9
Выходные данные
54
Примечание

В первом примере при v = 4 Вася будет печатать код следующим образом: сначала 4 строки, потом 2, потом 1, а затем Вася уснет. Таким образом, он успеет за ночь написать 4 + 2 + 1 = 7 строк, и задание будет выполнено.

Во втором примере при v = 54 Вася печатает код следующими порциями: 54, 6. В сумме 54 + 6 = 60, что даже больше, чем n = 59.