「Cfz Round 5」Non-breath Oblige

题目背景

[English statement](https://www.luogu.com.cn/problem/U517656). **You must submit your code at the Chinese version of the statement.** --- それぞれの好きを守るため 为了保护各自的喜爱之物 君と防空壕で呼吸する 与你在防空壕中一同呼吸

题目描述

给定三个整数 $n,s,t$,其中 $0 \le s,t \lt 2^n$。 你可以进行若干次操作。每次操作,你可以选择一个非负整数 $x$ 并把 $s$ 的值修改为 $x$,但有如下要求: - 必须满足 $x<2^n$; - 必须满足 $s\lor x=2^n-1$,其中 $\lor$ 为按位或运算; - 你需要花费 $s\oplus x$ 的代价,其中 $\oplus$ 为按位异或运算。 你需要求出使 $s=t$ 所需代价之和的最小值。可以证明一定可以使 $s$ 与 $t$ 相等。

输入输出格式

输入格式


**本题有多组测试数据。** 输入的第一行包含一个正整数 $T$,表示测试数据组数。 接下来依次输入每组测试数据。对于每组测试数据,输入共一行,包含三个整数 $n,s,t$。

输出格式


对于每组测试数据,输出一行一个整数,表示使 $s=t$ 所需代价之和的最小值。

输入输出样例

输入样例 #1

3
2 1 2
3 1 1
5 1 4

输出样例 #1

3
0
57

说明

#### 「样例解释 #1」 对于第 $1$ 组测试数据,由于 $1 \cup 2 = 3$,所以可以直接将 $s$ 的值从 $1$ 修改为 $2$,此时的代价为 $1 \oplus 2$,即 $3$。可以证明使 $s=t$ 所需代价之和的最小值为 $3$。 对于第 $2$ 组测试数据,不需要进行操作即可满足 $s=t$。 #### 「数据范围」 对于所有测试数据,保证: - $1 \le T \le 100$; - $1 \le n \le 30$; - $0 \le s,t \lt 2^n$。 **本题采用捆绑测试。** - Subtask 0(12 points):$s=t$。 - Subtask 1(15 points):$n=1$。 - Subtask 2(20 points):$s+t=2^n-1$。 - Subtask 3(10 points):$t=2^n-1$。 - Subtask 4(18 points):$t=0$。 - Subtask 5(25 points):无特殊限制。