Aniruddha loves to code on HackerEarth. There are some type of problems which he likes the most.
Problems are tagged with non empty strings containing only 'H' or 'E' or both. But he likes the problems tagged with strings containing no consecutive E's. Given an integer N, find maximum number of problems Aniruddha may like which are tagged with strings of length less than or equal to N.

Input
First line contains single integer, T, the number of test cases.  Each of next T lines contains single integer N.

Output
For each test case output single integer, the answer to the problem i.e maximum number of problems Aniruddha may like which are tagged with strings of length less than or equal to N. Output answer modulo 10^9 + 7 (i.e. 1000000007).

Constraints
1 ≤ T ≤ 10^6
1 ≤ N ≤ 10^6

SAMPLE INPUT
2
2
3

SAMPLE OUTPUT
5
10
nums =[]

def process():
	global nums
	nums = [None]*(10**6 + 3)
	nums[1]=2
	nums[2]=3
	
	for i in xrange(3,10**6 +3):
		nums[i] = (nums[i-1] + nums[i-2])%1000000007
		

def main():
	global nums
	process()
	for _ in xrange(int(raw_input())):
		print (nums[int(raw_input())+2]-3)
		

main()