Codeforces Round #FF (Div. 2)
E
DZY Loves Fibonacci Numbers
Codeforces
未评级
原题
← D→
翻译中…

In mathematical terms, the sequence $*F*_{*n*}$ of Fibonacci numbers is defined by the recurrence relation

翻译中…

$*F*_{1} = 1; *F*_{2} = 1; *F*_{*n*} = *F*_{*n* - 1} + *F*_{*n* - 2} (*n* > 2).$

翻译中…

DZY loves Fibonacci numbers very much. Today DZY gives you an array consisting of $*n*$ integers: $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$. Moreover, there are $*m*$ queries, each query has one of the two types:

翻译中…
  1. Format of the query "$1 *l* *r*$". In reply to the query, you need to add $*F*_{*i* - *l* + 1}$ to each element $*a*_{*i*}$, where $*l* ≤ *i* ≤ *r*$.
  2. Format of the query "$2 *l* *r*$". In reply to the query you should output the value of image modulo $1000000009 (10^{9} + 9)$.
翻译中…

Help DZY reply to all the queries.

翻译中…

Input

翻译中…

The first line of the input contains two integers $*n*$ and $*m*$ ($1 ≤ *n*, *m* ≤ 300000$). The second line contains $*n*$ integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*} (1 ≤ *a*_{*i*} ≤ 10^{9})$ — initial array $*a*$.

翻译中…

Then, $*m*$ lines follow. A single line describes a single query in the format given in the statement. It is guaranteed that for each query inequality $1 ≤ *l* ≤ *r* ≤ *n*$ holds.

翻译中…

Output

翻译中…

For each query of the second type, print the value of the sum on a single line.

翻译中…

Note

翻译中…

After the first query, $*a* = [2, 3, 5, 7]$.

翻译中…

For the second query, $*sum* = 2 + 3 + 5 + 7 = 17$.

翻译中…

After the third query, $*a* = [2, 4, 6, 9]$.

翻译中…

For the fourth query, $*sum* = 2 + 4 + 6 = 12$.

翻译中…

样例

Input #1
4 4
1 2 3 4
1 1 4
2 1 4
1 2 4
2 1 3
Output #1
17
12
InputCopy OutputCopy
题目信息
题号
447E
时间限制
4 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。