CF718C Sasha and Array
题目描述
斐波那契数列 $f_n$ 由以下递推式定义:
- $f_1=f_2=1$
- $f_n=f_{n-1}+f_{n-2}\;(n>2)$
你得到了 $n$ 个整数 $a_1,a_2,\cdots,a_n$。
你需要执行 $m$ 个操作,操作分两种:
- `1 l r x`:对所有 $l\le i\le r$,将 $a_i$ 加上 $x$。
- `2 l r`:求 $\sum\limits_{i=l}^r f_{a_i} \bmod (10^9+7)$。
输入格式
第一行两个整数 $n,m$。
第二行 $n$ 个整数 $a_1,a_2,\cdots,a_n$。
接下来 $m$ 行,每行三或四个整数表示一个操作。
输出格式
对每个 $2$ 操作,一行一个整数表示答案。
说明/提示
$1\le n,m\le 10^5$,$1\le a_i,x\le 10^9$。