EduBrick

E. Сумма решений

2000 мс · 256 МБ · всё или ничего

Как классная задача E, но нужно не количество решений уравнения a−(a⊕x)−x=0a - (a \oplus x) - x = 0, а их сумма.

Решения — это все подмаски aa. Сумму подмасок можно получить, не перебирая их: каждый единичный бит aa встречается ровно в половине подмасок. Если у aa ровно kk единичных битов, то каждый из них входит в 2k−12^{k-1} подмасок, и

∑x⊆ax=a⋅2k−1.\sum_{x \subseteq a} x = a \cdot 2^{k-1}.

При a=0a = 0 формула неприменима — там единственная подмаска, ноль, и сумма нулевая. Этот случай стоит разобрать отдельно.

Ответ выводите по модулю 109+710^9 + 7.

Формат ввода

Первая строка содержит число tt (1≤t≤10001 \le t \le 1000).

Далее идут tt строк со значениями aa (0≤a≤230−10 \le a \le 2^{30} - 1).

Формат вывода

tt строк — сумма решений по модулю 109+710^9 + 7.

Примеры

ввод
3
0
2
1073741823
вывод
0
2
731327347
Войдите, чтобы отправлять решения.