## FIBOSUM - Fibonacci Sum

no tags

The fibonacci sequence is defined by the following relation:

• F(0) = 0
• F(1) = 1
• F(N) = F(N - 1) + F(N - 2), N >= 2

Your task is very simple. Given two non-negative integers N and M, you have to calculate the sum (F(N) + F(N + 1) + ... + F(M)) mod 1000000007.

### Input

The first line contains an integer T (the number of test cases). Then, T lines follow. Each test case consists of a single line with two non-negative integers N and M.

### Output

For each test case you have to output a single line containing the answer for the task.

### Example

```Input:
3
0 3
3 5
10 19

Output:
4
10
10857```

### Constraints

• T <= 1000
• 0 <= N <= M <= 109

hide comments Ouditchya Sinha: 2013-08-26 20:04:43 How is 0.00s possible? I can only get 0.01s. Anubhav Balodhi : 2013-08-25 09:33:06 got ac in 3rd try, learnt a lot about fibonacci numbers :D Amitayush Thakur: 2013-08-19 13:06:10 good question to learn application of Divide and conquer :) Vijay Jain: 2013-07-10 17:57:08 after that u may try solving this question: http://www.spoj.com/problems/BUILDTOW/ Joey Tribbiani: 2013-07-09 09:26:47 How do you store the fibonacci number? As in how to store F(1000000000). Cant use long long int, overflows. No_words: 2013-06-20 20:51:55 Nice Question. Learned a lot ! :) Atul Kumar Verma: 2013-06-10 04:57:27 learned a new concept about Fibonacci numbers nice question.

 Added by: David Gómez Date: 2010-12-04 Time limit: 1s Source limit: 50000B Memory limit: 1536MB Cluster: Cube (Intel G860) Languages: All except: ASM64 Resource: My Own