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
Alexandre Henrique Afonso Campos:
20131111 23:39:41
I have a solution that works for all listed cases here and in the forums previously mentioned here in the comments, including trick cases. Still getting WA.


Rafael Perrella:
20130911 22:43:50
I don't know any link where it is discussed. But you can start a thread and post the link here, then we can discuss it there.


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 :) 

:
20130711 21:50:19
learned something new :D 
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 