#arc161b. [arc161_b]Exactly Three Bits

[arc161_b]Exactly Three Bits

题目描述

对于一个正整数 XX,定义 f(X)f(X)XX 在二进制表示下 11 的个数,比如,因为 6=110(2)6=110_{(2)}11=1101(2)11=1101_{(2)}16=10000(2)16=10000_{(2)},所以 f(6)=2f(6)=2f(11)=3f(11)=3f(16)=1f(16)=1

现在给定你一个正整数 NN,问是否存在一个小于等于 NN 的正整数 XX,满足 f(X)=3f(X)=3。如果存在,请输出满足条件的最大的 XX,否则输出 -1

本题有多组数据。

输入格式

第一行一个整数 T(1T105)T(1\le T\le10^5),表示数据组数。

接下来 TT 行每行一个正整数 N(1N1018)N(1\le N\le10^{18})

输出格式

TT 行,每行一个整数表示第 ii 个问题的答案。