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
Yash:
20150203 20:52:39
My 60th :) Use long datatype...int cost me WAs 

abhijeet gusain:
20150129 19:45:53
log(n) + be careful of the negative mod.. :) 

AYUSH SAHU:
20150127 17:21:19
finally accepted....:)


Abhinandan Agarwal:
20150124 19:46:50
accepted in 0.00 secs B) 

Anne:
20150124 09:44:03
what do you guys mean by negative modulus? 

Raj Kumar Chauhan:
20150122 13:30:07
why WA? :( 

sai krishna:
20150111 11:51:35
learnt exponentiation


Yashpal:
20141224 23:41:57
Made Accepted in 0.00 :P 

Tahsin:
20141030 08:31:59
Negative Modulus : caused me 6 WAs :( Last edit: 20141030 08:33:14 

mayank:
20141023 09:09:43
Negative Modulus :'( . 
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 