Let G(S) denote the sum of the elements of set S and F(n) be the sum of G(s) for all subsets of the set consisting of the first n natural numbers. 

For example, F(3) = (1) + (2) + (3) + (1 + 2) + (1 + 3) + (2 + 3) + (1 + 2 + 3) = 24.



Given n, calculate F(1) + F(2) + ... + F(n).


Input

The first line contains the number of test cases T ( ≤ 1000). Each of the next T lines contains an integer n. (1 ≤ n ≤ 1000000000).

Output

Output T lines, one corresponding to each test case. Since the answers can get very big, output the answer modulo 8388608

Example

Input:
3
1
2
3
Output:
1
7
31
#

""" in F(n), for each 1 <= i <= n, it is in 2^(n-1) subsets.
so the sum is 2^(n-1) * n*(n+1)/2

s(n) = sum_n 2^(n-1) * n*(n+1)/2 = 2^(m -1)*m^2 - 2^(m-1)*m + 2^m -1

"""
m = 8388608
T = int( raw_input() )

f = {}
for i in xrange(1,23):
    f[i] = ( 2**(i-1) * i**2 - 2**(i-1) * i + 2**(i) - 1 ) % m

for t in xrange(T):
    x = int( raw_input() )
    print f[ min(22, x) ]