FIBOSUM - Fibonacci Sum

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

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

hide comments
2016-02-24 21:16:50
It is possible in C #Vmcode by using matrix exponantion and sum of fibonacci series!!!!AC in 0.01s
2016-02-24 13:12:19 minhthai
that negative modulo tho ( ͡° ͜ʖ ͡°)
2016-01-10 16:59:05
i am getting nzec error by pyth 2.7 please help me out it says"maximum recursion depth reached"
2015-12-08 15:59:13 Vmcode
how is it possible in c???
2015-09-14 07:36:45 MishThi
4 Days !! And victory.. :D
Learnt a lot through this question.
2015-09-06 16:11:18 Harsh Vardhan Ladha
it is not given that M>=N causing many to get negative and negative MOD problem.
Tweak a little!
2015-08-26 14:17:46
i wrote the code for this and i am gettingb negative ans so how do i handle this part




Last edit: 2015-08-26 14:18:37
2015-08-23 23:11:22
@Babu, if you do sum(M) - sum(N - 1), the latter one can be bigger than the former due to the modulus application. To solve that, just sum 10^9 + 7 to the result while it is negative.
2015-07-26 21:37:47 Babu
where is the negative modulus coming .
please answer
2015-07-18 20:39:57 Rahul Jain
@xxbloodysantaxx, Your comment was very helpful to me. Thanks.
Guys, just try taking out a recurrence for S(n) rather than expressing the sum in fibonacci term.... Will make you feel better surely :√) Well, negative modulus costed me 3 WAs

Last edit: 2015-07-18 23:00:59
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.