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
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.


Ashish:
20150705 08:44:29
Oh never mind. I read it from Wikipedia anyway. Turns out :


Ashish:
20150704 19:21:52
What is the link to Rafael Perella's thread? I am getting TLE despite using a O( logn + (mn) ) algorithm. ( O(logn) to find f(n) and O(mn) to compute f(i) ( n<=i<=m) and sum, and take modulo. I am even taking modulo at the matrix multiplication step. But I am using a recursive function instead of a loop for the O(logn) part. Is that the reason? plz help..... 
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 