OPC3A - Arya and the exponacci

Arya is very fond of Fibonacci numbers. He claimed he can solve any problem on Fibonacci number. His clever friend Golu gave him a challenge.

To prove his skills, he gave him a sequence which he called exponacci. The sequence is given by:

  • g(0) = 1,
  • g(n) = 2f(n - 1) for n > 0.

f(n) denotes the nth Fibonacci number where

  • f(0) = 1,
  • f(1) = 1,
  • f(n) = f(n - 1) + f(n - 2) for n > 1.

(Obviously Golu is not as good as Arya in Fibonacci numbers so he believes f(0) = 1, anyways we have chosen not to disturb him.)

Help Arya to find the nth exponacci number. Since the numbers can be very large take mod 109 + 7.

Input

The first line of the input will be the number of test cases (T ≤ 2000). For each test case first line contains one integers n 0 ≤ n ≤ 1000000

Output

The value of g(n) % (109+7)

Example

Input:
2
3
5

Output:
4
32

Added by:bashrc is back
Date:2012-03-24
Time limit:1s
Source limit:1000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:Own problem used in MNNIT LOCAL OPC

hide comments
2012-04-01 17:22:33 fitcat
From the definition of Fibonacci number, f(0) should be equal to 0.
2012-04-01 17:22:33 numerix
@bashrc: Good decision. Thanks.
2012-04-01 17:22:33 bashrc is back
@numerix: I see the point.And probably it must be clear to others from the comments that big integers may not pass.So i am opening for all languages.
2012-04-01 17:22:33 numerix
@bashrc: That's what I supposed. So my questions:
1. Why, if bigint is the reason, is Java not excluded?
2. Why, if brute-force solutions obviously won't pass, is it not opened for all languages?
2012-04-01 17:22:33 bashrc is back
@numerix I didn't wanted to distract newbie programmer's in using big number arithematic available in the languages i disallowed.In any case that solution won't pass.
2012-04-01 17:22:33 numerix
Is there any reason for exclusion of some languages? If not, please open it for all languages.
2012-04-01 17:22:33 ! include(L.ppt)
gud problem.....got ac with normal scanf.....:)

Reply:C and C++ programmers can take the liberty of using any I/O.The warning was for slower languages.

Last edit: 2012-03-24 17:21:35
2012-04-01 17:22:33 Francky
with only 2000 test cases, there's no IO problems imaginable, imho.

Last edit: 2012-03-24 15:00:20
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.