EduBrick

J. Фибоначчи за логарифм

2000 мс · 256 МБ · всё или ничего

Вычислите FnF_n по модулю 109+710^9 + 7, где F1=F2=1F_1 = F_2 = 1 и Fk=Fk−1+Fk−2F_k = F_{k-1} + F_{k-2}.

Ограничение на nn — до 101810^{18}, так что ни рекурсия по определению, ни цикл не годятся.

Приём: возведение матрицы (1110)\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix} в степень тем же рекурсивным способом, что и в классной задаче про степень. Умножение матриц два на два — это восемь умножений, а вызовов будет всего около шестидесяти.

Формат ввода

Одна строка содержит число nn (1≤n≤10181 \le n \le 10^{18}).

Формат вывода

Одно число — FnF_n по модулю 109+710^9 + 7.

Примеры

ввод
10
вывод
55
ввод
1
вывод
1
Войдите, чтобы отправлять решения.