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
Ouditchya Sinha:
20130911 15:50:43
@Rafael Perrella : Thank you for answering my question & congratulations for solving this problem in 0.00s. :)


Rafael Perrella:
20130911 12:05:03
@Mayank 999975531


YoungMoon KO:
20130907 04:37:52
Excellent problem. I've learned a lot of things about Fibonacci sequence.


hiddenman:
20130906 20:40:18
gud 1


Ouditchya Sinha:
20130826 20:04:43
How is 0.00s possible? I can only get 0.01s. 

Anubhav Balodhi :
20130825 09:33:06
got ac in 3rd try, learnt a lot about fibonacci numbers :D 

Amitayush Thakur:
20130819 13:06:10
good question to learn application of Divide and conquer :) 

Vijay Jain:
20130710 17:57:08
after that u may try solving this question:


Joey Tribbiani:
20130709 09:26:47
How do you store the fibonacci number?


No_words:
20130620 20:51:55
Nice Question. Learned a lot ! :) 
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 