Інтервал#4902

Інтервал

1 секунда
64 мегабайти
Складна

Визначте кількість цілих чисел у замкненому інтервалі [X, Y], які можна представити у вигляді суми різних степенів числа ; тобто, кількість чисел таких, що кожна степінь використовується не більше одного разу у представленні:

Z = a_n b^n + a_{n-1} b^{n-1} + \dots + a_1 b^1 + a_0 b^0,

де a_i \in \{0, 1\}.

Вхідні дані

У першому рядку задано числа , та (1 \le X \le Y \le 10^{100}, 2 \le b \le 10), відокремлені пропусками.

Вихідні дані

Виведіть одне число — кількість чисел у [X, Y], які можна представити у вигляді суми різних степенів .

Приклади

Приклад 1

Loading
Loading

Примітка

Для X = 4, Y = 10, b = 3 такі числа:

\begin{align*} 4 &= 3^1 + 3^0,\\ 9 &= 3^2,\\ 10 &= 3^2 + 3^0. \end{align*}

Для X = 1, Y = 12, b = 2 такі числа:

\begin{align*} 1 &= 2^0,\\ 2 &= 2^1,\\ 3 &= 2^1 + 2^0,\\ 4 &= 2^2,\\ 5 &= 2^2 + 2^0,\\ 6 &= 2^2 + 2^1,\\ 7 &= 2^2 + 2^1 + 2^0,\\ 8 &= 2^3,\\ 9 &= 2^3 + 2^0,\\ 10 &= 2^3 + 2^1,\\ 11 &= 2^3 + 2^1 + 2^0,\\ 12 &= 2^3 + 2^2. \end{align*}