#45747. 密钥
密钥
暂无测试数据。
小 D 用他的密钥锁死了小 E 的电脑,小 E 正在尝试破解。
已知小 D 的密钥为一个正整数 $N$,他有三种锁死方法 $(T)$ 以及两个非负整数 $A,B$。
- 当 $T=0$ 时,$A \ {\rm and} \ B=N$,其中 ${\rm and}$ 表示按位与;
- 当 $T=1$ 时,$A \ {\rm or} \ B=N$,其中 ${\rm or}$ 表示按位或;
- 当 $T=2$ 时,$A \ {\rm xor} \ B=N$,其中 ${\rm xor}$ 表示按位异或。
对于每种锁死方法,只要计算出最大的 $A\times B$ ,就能解锁小 E 的电脑。
需要注意的是,你需要保证 $A,B$ 在二进制下的位数不会超过 $N$ 的位数。例如 $N=5,T=2$ 时,$A=29,B=24$ 是不合法的。
输入格式
本题有多组数据。
第一行一个正整数 $Q$,代表数据组数。
对于每组数据输入一行两个数 $N,T$。
输出格式
对于每组数据,输出一行一个非负整数,表示最大的满足条件的 $A\times B$。答案对 $998244353$ 取模后输出。
数据规模与约定
测试点编号 | $T=$ | 特殊性质 |
---|---|---|
$1$ | $-$ | 与样例完全一致 |
$2,3$ | $0$ | $N\le10^9$ |
$4\sim9$ | $0$ | 无 |
$10,11,12$ | $1$ | 无 |
$13,14$ | $2$ | $N\le10^9$ |
$15\sim20$ | $2$ | 无 |
对于 $100\%$ 的数据,满足 $1\le Q\le2\times10^5$,$1\le N\le10^{18}$,$T\in\{0,1,2\}$。
3
1 0
5 1
3 2
1
25
2