CRDS - Cards

Maricruz have a lot of cards, she always uses her cards to build pyramids as shown in the following image:

Cards

A pyramid card of 3 levels. She always wonder how many cards does she need to make a pyramid card of N levels. Your task is to answer that question.

Input

The first line of the input contains an integer 1 <= T <= 1,000. Each of the following T lines will have an integer 1 <= N <= 1,000,000.

Output

For each case, output a single line consisting of the number of cards needed to build a pyramid card of level N modulo 1,000,007.

Example

Input Example
2
3
7

Output Example
15
77

Added by:Paulo Costa
Date:2012-01-30
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:UGTO

hide comments
2017-11-30 17:14:50
don't take modulo while calculating,take it once only at the end and declare the ans and level as long long int .
2017-10-20 11:13:49
"modulo 1000007" cost me 2 WA (-_-)
2017-10-13 13:18:42
easy question but difficult to understand written language in question.
2017-10-13 13:16:54
wrong explanation there should be comma after N in last line
2017-09-25 07:49:52
3 liner in python3!
2017-09-14 20:17:50
in my case it is showing wrong answer but in ideone its giving the correct output
why????

Last edit: 2017-09-14 20:18:13
2017-09-06 00:12:34
for c/c++ use long long for "n","answer" for sure
2017-09-05 15:54:55
AC in a go................
2017-09-05 05:57:57
AC in 1 go...................
2017-08-28 02:30:52
@vishal3410 be careful to initiallize your variables on the stack properly with c based languages especially N and T in your case, no need to treat two separate cases here
@all easy once you derive the correct formula
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.