Description

如图这是一个斐波那契螺旋。更详细的生成方式是:
第一个正方形左下角在 (−1,0),右上角在 (0,1)。
第二个正方形左下角在 (−1,−1),右上角在 (0,0)。
第三个正方形边长为第一个正方形和第二个正方形边长之和,左下角在 (0,−1),右上角在 (2,1)。
第四个正方形边长为第二个正方形和第三个正方形边长之和,左下角在 (−1,1),右上角在 (2,4)。
第 n 个正方形边长为第 n−1 和 第 n−2 个正方形边长之和,具体位置由之前的图形而定。
依次类推,如图遵循逆时针顺序画出一个斐波那契螺旋。
现在有 T 组询问,每组询问给出坐标 (x,y),请你求出覆盖这个点的正方形的边长。如果在若干正方形的边上,则取边长较小的正方形的边长作为答案。
可以发现,每个点一定被至少一个正方形覆盖。
第一行,一个正整数 T,表示询问组数。
接下来 T 行,每行两个整数 x,y,表示坐标。
输出 T 行,每行一个整数,表示在 (x,y) 时的答案。
5
0 0
2 1
-3 2
2 -5
7 -6
1
2
5
8
13
Hint
【样例解释 #1】
如上图所示:
(0,0) 所在三个正方形交界处,边长分别为 1,1,2,取最小的一个,边长为 1。
(2,1) 所在三个正方形交界处,边长分别为 2,3,13,取最小的一个,边长为 2。
(−3,2) 所在正方形边长为 5。
(2,−5) 所在两个正方形交界处,边长分别为 8,13,取最小的一个,边长为 8。
(7,−6) 所在正方形边长为 13。
【样例 #2】
见附件中的 fibonacci/fibonacci2.in 与 fibonacci/fibonacci2.ans。
该组样例满足测试点 1∼3 的约束条件。
【样例 #3】
见附件中的 fibonacci/fibonacci3.in 与 fibonacci/fibonacci3.ans。
该组样例满足测试点 4∼10 的约束条件。
【数据范围】
本题共 10 个测试点,每个 10 分。
对于所有数据,保证:
- 1≤T≤105;
- ∣x∣,∣y∣≤1018。
::cute-table{tuack}
| 测试点编号 | ∣x∣,∣y∣≤ | 特殊性质 |
| :-: | :-: | :-: |
| 1∼3 | 103 | 无 |
| 4∼10 | 1018 | 无 |