5899 - 等级7:最短路

通过次数

2

提交次数

3

Time Limit : 1 秒
Memory Limit : 128 MB

给定一个长度为 n 的数列 a,如果满足 ai&aj!=0(按位与运算结果不为零),则在节点 ij 之间存在一条长度为 a_i + a_j 的无向边。请计算从节点 1 到所有其他节点的最短路径长度。

Input

第一行一个正整数 n。

接下来一行 n 个整数a1~an

Output

输出一行n个整数,第i个为1到ide最短路长度,不能到达输出-1

Examples

Input

5
1 5 6 7 8

Output

0 6 17 8 -1

Hint

对于20%的数据,n \leq 10

对于 40%的数据,n \leq 10^3

对于另外 20% 的数据,所有 a_i 满足 a_i = 2^x + 2^yx \neq y

对于100% 的数据:

1 \leq n \leq 10^5

0 \leq a_i \leq 2^{30}