LOVINGPW - Loving Power

Angel Luis is now getting math class. His teacher is teaching to him the XOR operation:

  • 0 XOR 0 = 0
  • 0 XOR 1 = 1
  • 1 XOR 0 = 1
  • 1 XOR 1 = 0

When a number has more than one bit, the operation is applied to all bits. The teacher write two numbers x, y (0 <= x, y <= N) and make the XOR operation between x and y, Angel Luis would like to know how many pairs x, y such x XOR y = 2z where z >= 0.

See that for N = 3:

  • 0 XOR 1 = 20
  • 0 XOR 2 = 21
  • 3 XOR 1 = 21
  • 2 XOR 3 = 20

So there are 4 pairs.

Given N you should return the number of pairs modulo 1000000007.

Input

First line contains number t - the number of cases. Following t lines will each have a number N.

t <= 100

N <= 1000000000000000 (1015).

Output

For each case the number of pairs modulo 1000000007.

Example

Input:
3
1
2
3

Output:
1
2
4

Added by:olimpoUS
Date:2013-02-17
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14 CPP14-CLANG COBOL COFFEE D-CLANG D-DMD DART ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG PYPY PYPY3 R RACKET RUST CHICKEN SQLITE SWIFT UNLAMBDA VB.NET
Resource:Luis Giro

hide comments
2015-02-05 13:22:46 :(
Good one... :) @Ouditchya thanks for the test case :)
2015-01-19 19:40:48 Vamsi Krishna Avula
good problem :)
2013-06-05 13:07:45 Aradhya
@rajarshi sarkar.. best comment i have seen so far.. after solving this i looked at your comment.. it directly points to the solution :)
2013-06-05 13:04:36 Aradhya
for playgroup kids :D
2013-06-02 10:42:32 Aditya Bahuguna
Real Nice Prob (y).
2013-06-01 08:50:58 Man Mohan Mishra
huh... finally solved it.
problem is really nice , I made my own formula for the task.
2013-05-31 12:53:55 Rajarshi Sarkar
1's and 0's everywhere :D
2013-05-16 07:12:59 shiva_hellgeek
finally got AC.
It was an excellent problem learned a lot from this one.
thanks to problem setter
2013-04-24 11:01:49 Ouditchya Sinha
Not reading the problem correctly caused me many WAs, the sequence is indeed very nice... :)
O/P for 10^15 is 227182119.

Finally AC in 0.00s. :)

Last edit: 2013-07-18 15:39:53
2013-03-23 06:54:08 Vikas Kushwaha
good one...AC :)
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.