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
Sharprocks:
20140607 22:00:48
Nice question


saanc:
20140519 06:41:42
can't believe that it is accepted in 1st go.. yepppeeeeeeeeeeeeeeee 

sarelfeniel:
20140422 06:07:29
Great problem! I am content with 0.02 but I highly recommend reading the forum thread by Rafael Perrella. I guarantee you will learn something. Definitely never knew about that secret of the Fibonacci numbers.


Francis:
20140407 11:01:12
hi,all! I am stuck here and I need help! Thanks so much in advance.


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

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 