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 nonnegative 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 nonnegative 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 <= 10^{9}
hide comments
minhthai:
20160224 13:12:19
that negative modulo tho ( ͡° ͜ʖ ͡°) 

buvaneish:
20160110 16:59:05
i am getting nzec error by pyth 2.7 please help me out it says"maximum recursion depth reached" 

Vmcode:
20151208 15:59:13
how is it possible in c??? 

reddappa:
20151013 08:09:28
Last edit: 20151013 08:11:25 

MishThi:
20150914 07:36:45
4 Days !! And victory.. :D


Harsh Vardhan Ladha:
20150906 16:11:18
it is not given that M>=N causing many to get negative and negative MOD problem.


satya_jha123:
20150826 14:17:46
i wrote the code for this and i am gettingb negative ans so how do i handle this part


offson:
20150823 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. 

Babu:
20150726 21:37:47
where is the negative modulus coming .


Rahul Jain:
20150718 20:39:57
@xxbloodysantaxx, Your comment was very helpful to me. Thanks.

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