#5765. 二进制之力

二进制之力

当前没有测试数据。

题目描述

在一个神秘的数字王国中,有一位年迈的数学家,他以解决数学难题而闻名于世。他的名字是阿尔伯特。阿尔伯特一直追求着数字的奥秘,并且相信数字中蕴含着无尽的力量。

有一天,阿尔伯特发现了一种神秘的能量,被称为"二进制之力"。

根据阿尔伯特的研究,对于正整数 XX,令 f(X)f(X) 表示 XX 的二进制表示中出现的 11 的个数。

例如,6=110(2)11=1011(2)16=10000(2)6=110(2),11=1011(2),16=10000(2),因此 f(6)=2f(11)=3f(16)=1f(6)=2,f(11)=3,f(16)=1

你作为阿尔伯特的学生,受到了一项特殊任务。

你被给予一个正整数 NN

你的任务是判断是否存在一个小于或等于 NN 的正整数 XX,使得 f(X)=3f(X)=3,并找出最大的满足条件的 XX

你需要解决 TT 个测试案例,每个测试案例都是一次数字之旅。

输入

第一行读入数据组数 TT

下面的 TT 行,每一行给出一个整数 NN

输出

输出 TT 行对应的满足条件的最大 XX

如果不存在这样的正整数,就输出 -1

样例

输入复制

4
16
161
4
1000000000000000000

输出复制

14
161
-1
936748722493063168

输入复制

1
100

输出复制

100

说明

【样例 11 解释】

T=4T = 4,有44组数据:

1616,小于等于 1616 的满足条件最大值 1414,二进制:11101110

161161 ,小于等于 161161 的满足条件最大值 161161,二进制:1010000110100001

44 ,小于等于 44 的满足条件最大值不存在,所以输出 1-1

10000000000000000001000000000000000000 ,小于等于 1616 的满足条件最大值 936748722493063168936748722493063168

其二进制结果为: $110100000000000000000000000000000000000000000000000000000000$。

【样例 22 解释】

T=1T = 1,有11 组数据:

N=100N = 100 对应的二进制:11001001100100 ,有 3311,小于等于 100100 的最大的就是 100100,输出 100100

【数据范围】

对于 30% 的数据,1T102,1N1061≤T≤10^2,1≤N≤10^6

对于 60% 的数据,1T105,1N1091≤T≤10^5,1≤N≤10^9

对于 100% 的数据,1T105,1N10181≤T≤10^5,1≤N≤10^{18}