编程题
### 问题描述
在神秘的七彩之城中,存在一个古老的传说,那里隐藏着一种强大的力量,只有解开特定的密码,才能获得这种力量。据说,这个密码由三个部分组成,我们称之为三元密码。在数学家蓝泽的研究下,他发现了这个密码的一些规律。
密码的每一部分都是一个整数,范围在 $0$ 到 $2^N-1$ 之间,这三个整数必须是互不相同的。并且,这三个整数的二进制异或(XOR)结果必须等于另一个给定的整数 $K$。蓝泽非常好奇,对于给定的 $N$ 和 $K$,究竟有多少种可能的三元密码。
你的任务是帮助蓝泽解答这个问题。
### 输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例包含一行,包含两个空格分隔的整数 $N$ 和 $K$。
### 输出格式
对于每个测试用例,输出一行,表示满足条件的三元密码的数量。
### 样例输入
```
3
2 1
3 0
9 100
```
### 样例输出
```
6
42
260610
```
### 说明
测试用例 1: 共有 6 个三元密码满足条件:(0, 2, 3),(0, 3, 2),(2, 0, 3),(2, 3, 0),(3, 0, 2) 和 (3, 2, 0)。
测试用例 2: 有 42 个三元密码满足条件,例如:(1, 2, 3),(1, 4, 5),(6, 3, 5),(7, 3, 4) 等。
### 评测数据范围
对于所有的测试用例,保证:
- $1 \leq T \leq 5000$。
- $2 \leq N \leq 20$。
- $0 \leq K < 2^N$。