CF446C.DZY Loves Fibonacci Numbers

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

In mathematical terms, the sequence FnF_{n} of Fibonacci numbers is defined by the recurrence relation

F1=1; F2=1; Fn=Fn1+Fn2 (n>2).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 nn integers: a1,a2,...,ana_{1},a_{2},...,a_{n} . Moreover, there are mm queries, each query has one of the two types:

  1. Format of the query " 1 l r1\ l\ r ". In reply to the query, you need to add Fil+1F_{i-l+1} to each element aia_{i} , where l<=i<=rl<=i<=r .
  2. Format of the query " 2 l r2\ l\ r ". In reply to the query you should output the value of modulo 1000000009 (109+9)1000000009 (10^{9}+9) .

Help DZY reply to all the queries.

输入格式

The first line of the input contains two integers nn and mm ( 1<=n,m<=3000001<=n,m<=300000 ). The second line contains nn integers a1,a2,...,an (1<=ai<=109)a_{1},a_{2},...,a_{n} (1<=a_{i}<=10^{9}) — initial array aa .

Then, mm 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<=n1<=l<=r<=n holds.

输出格式

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

输入输出样例

  • 输入#1

    4 4
    1 2 3 4
    1 1 4
    2 1 4
    1 2 4
    2 1 3
    

    输出#1

    17
    12
    

说明/提示

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

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

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

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

首页