题目背景
温昭雪喜欢构造排列。
题目描述
她的目标是构造一个由 n 个数组成的排列 A1,A2,…,An,初始时 A 中的所有元素都是 0。
接下来,对于数 i(1≤i≤n),她通过下面方式由 1 到 n 确定其位置:
- 
如果 i=1,将其放到最左侧。
 
- 
如果 i=2,将其放到最右侧。
 
- 
如果都不是,定义 f0(x) 表示 x 左侧(包含 x,下同)的连续的 0 的个数,g0(x) 为 x 右侧的连续的 0 的个数。特别地,如果 x≤0 或 x>n,f0(x)=g0(x)=n+1。
 
- 
定义 f1(x) 表示 x 左侧的连续非 0 位置的个数,g1(x) 表示 x 右侧的连续非 0 位置的个数。特别地,如果 x≤0 或 x>n,f0(x)=g0(x)=0。
 
- 
如果存在位置 j,使得 min(f0(j),g0(j))>1,则选择位置 j 最大化 min(f0(j),g0(j))。如果有多个位置的值相同,选择 j 较小的。
 
- 
如果不存在这样的位置,则选择位置 j 使得 f0(j)=1 并最小化 f1(j−1)+g1(j+1)。如果有多个位置的值相同,选择 j 较小的。
 
温昭雪的幸运数字是 k。为了避免输出过多,她只想知道数字 k 处于排列的什么位置。
输入格式
本题单个测试点内有多组测试数据。
输入第一行 T,表示数据组数。
以下 T 行,每行两个正整数 n,k。
输出格式
输出 T 行,每行一个正整数 x,表示排列长度为 n 时,Ax=k。
2
3 1
6 4
1
4
提示
样例解释
第一组测试数据对应的排列为 {1,3,2}。
第二组测试数据对应的排列为 {1,5,3,4,6,2}。
数据规模与约定
| 测试点编号 | 
n | 
k | 
T | 
∑n | 
特殊性质 | 
| 1,2 | 
≤10 | 
≤10 | 
≤100 | 
 | 
| 3,4 | 
≤100 | 
≤1000 | 
| 5 | 
≤1000 | 
≤10 | 
≤104 | 
| 6,7 | 
≤1000 | 
≤100 | 
≤105 | 
| 8,9 | 
≤104 | 
≤10 | 
| 10∼13 | 
≤104 | 
≤106 | 
n,k 均为奇数 | 
| 14∼17 | 
n,k 均为偶数 | 
| 18,19 | 
≤105 | 
≤10 | 
≤105 | 
 | 
| 20,21 | 
≤105 | 
≤100 | 
≤106 | 
| 22∼25 | 
≤106 | 
对于奇数编号的测试点,内存限制为 512 MB;对于偶数编号的测试点,内存限制为 64 MB。
对于所有数据,保证 1≤k≤n≤106,∑n≤106。