Problem
小周猪猪是一只热爱数据结构的小猪猪,它热爱有趣的线段树。
线段树,就是它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。这样,我们就得到一个树形结构。具体的,我们可以用图来表示这个线段树:

具体的说,我们对于任意区间[l,r],则我们可以将区间分治为[l,⌊2l+r⌋]和[⌊2l+r⌋+1,r].特别地,当l=r时,当前节点为线段树的叶节点。
小周猪猪相信你已经能够熟练的掌握线段树。现在小周猪猪决定考考聪明的你:
小周猪猪规定,包含x的节点表示为:节点中的线段[l,r]满足l≤x≤r.包含x的路径为:包含x的节点构成的一条路径。

例如,包含7的路径可以表示为途中标红的路径。
现在,小周猪猪有q个询问:
- 对于每一个询问给定四个值x1,x2,l,r,区间[l,r]是根节点的线段,x1和x2都可以在包含它的路径上随意选择个点最为最终的位置。小周猪猪想要知道,x1和x2在树上找到相应位置后,它们的最大距离是多少。
输入格式
第一行,一个数q。
接下来q行,每行四个数:x1,x2,l,r,x1和x2。
输出格式
共q行:第i行表示第i个询问的答案,即最大的树上距离。
输入样例
2
6 7 1 10
1 10 1 10
输出样例
4
7
数据规模与约定
对于测试点1~2,保证:l+1=r.
对于测试点3~4,保证:x1=l,x2=r
对于测试点5~8,保证:1≤r≤1×105
对于所有数据,保证:1≤l≤x1,x2≤r≤109,q≤1×105
难度评定:NOIP普及组T2难度。