λ¬Έμ
μ΄λ ν μ Nμ΄ 1μ΄ λ λ κΉμ§ λ€μμ λ κ³Όμ μ€ νλλ₯Ό λ°λ³΅μ μΌλ‘ μ νν΄ μννλ € ν¨
λ¨, λλ²μ§Έ μ°μ°μ Nμ΄ Kλ‘ λλμ΄ λ¨μ΄μ§ λλ§ μ νν μ μμ
- Nμμ 1μ λΊλ€.
- Nμ Kλ‘ λλλ€.
Nμ΄ 1μ΄ λ λ κΉμ§ 1λ² νΉμ 2λ²μ κ³Όμ μ μνν΄μΌνλ μ΅μ νμλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±
λμ μ½λ
# μ μ nκ³Ό kλ₯Ό μ
λ ₯λ°λλ€.
n = int(input())
k = int(input())
count = 0
# nμ΄ 1λ³΄λ€ ν΄ λκΉμ§ μλ 쑰건문μ λ°λ³΅νλ€.
while n > 1:
# nμ΄ νμμ΄λ©΄ λλ μ μμΌλ 1μ λΊλ€.
if n % k != 0:
n -= 1
count += 1
# nμ΄ μ§μμ΄λ©΄ kλ₯Ό λλλ€.
else:
n /= k
count += 1
print(count)
# μ λΉμ± λΆμ: μ무리 ν° μκ° μ
λ ₯λμ΄λ 1μ κ³μ λΉΌμ 1μ λ§λλ κ²λ³΄λ€ λλκΈ°λ₯Ό μ΄μ©ν΄μ 1μ λ§λλ κ²μ΄ λΉ λ₯΄κΈ°μ μ μκ³ λ¦¬μ¦μ μ λΉνλ€.
ν΄μ€ μ½λ
# N, K곡백μ κΈ°μ€μΌλ‘ ꡬλΆνμ¬ μ
λ ₯ λ°κΈ°
n, k = map(int, input().split())
result = 0
while True:
# Nμ΄ Kλ‘ λλμ΄ λ¨μ΄μ§λ μκ° λ λκΉμ§λ§ 1μ© λΉΌκΈ°
target = (n // k) * k
result += (n - target)
n = target
# Nμ΄ Kλ³΄λ€ μμ λ (λ μ΄μ λλ μ μμ λ) λ°λ³΅λ¬Έ νμΆ
if n < k:
break
# Kλ‘ λλκΈ°
result += 1
n //= k
# λ§μ§λ§μΌλ‘ λ¨μ μμ λνμ¬ 1μ© λΉΌκΈ°
result += (n - 1)
print(result)