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
Surya Sekhar Mondal:
20150606 21:41:31
use long long , cost me 3 WAs 

priyank:
20150603 13:32:33
use modulus while matrix multiplication and at final answer and take care of neg modulus too :) 

Aman Agarwal:
20150603 13:26:13
AC in one go..


kartikay singh:
20150521 13:34:16
NEGATIVE MODULUS COST ME 2WA


karan:
20150422 21:10:20
nice problem ^_^ 

Prasanna Patil:
20150417 08:41:39
When i was using modulo only at answer(final ans) time got TLE.


reddragon:
20150403 20:07:19
finally acc 

xxbloodysantaxx:
20150317 11:05:35
Try taking out a recurrence for S(n) rather than expressing the sum in fibbonaci term.... Will make you feel better surely :) 

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