Система Фібоначчі#5559

Система Фібоначчі

5 секунд
64 мегабайти
Середня

Маленький Джон вивчає числові системи. Після того, як він освоїв всі системи з фіксованою основою, Джона зацікавили більш незвичайні випадки. Серед них він знайшов систему Фібоначчі, яка однозначно представляє всі натуральні числа, використовуючи лише дві цифри: нуль і одиницю. Проте, на відміну від звичайної двійкової системи, у системі Фібоначчі не можна ставити дві поряд.

Можна довести, що якщо число задано у системі Фібоначчі, його значення дорівнює

N = a_n \cdot F_n + a_{n-1} \cdot F_{n-1} + \ldots + a_1 \cdot F_1,

де F_k — це стандартна послідовність Фібоначчі, що визначається як F_0 = F_1 = 1, F_i = F_{i-1} + F_{i-2}.

Наприклад, перші кілька натуральних чисел мають такі унікальні подання у системі Фібоначчі:

1 = 1_F

2 = 10_F

3 = 100_F

4 = 101_F

5 = 1000_F

6 = 1001_F

7 = 1010_F

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

Джону цікаво, скільки разів цифра зустрічається у -му префіксі цього рядка. Нагадаємо, що -ий префікс рядка — це рядок, який складається з його перших символів.

Напишіть програму, яка визначає, скільки разів цифра зустрічається у -му префіксі рядка Джона.

Вхідні дані

Вхід містить одне ціле число (0 \leq N \leq 10^{15}).

Вихідні дані

Виведіть єдине ціле число — кількість одиниць у -му префіксі рядка Джона.

Приклади

Приклад 1

Loading
Loading