给定两个不同的非负整数 。定义两条无限序列: ; . 求最长公共子段长度,即最大正整数 ,存在 满足:。
输入描述:
第一行输入整数 ,表示测试用例数。 随后每行一个测试用例,包含两个整数 。


输出描述:
对每个测试用例,输出一个整数——最长公共子段长度。
示例1

输入

4
0 1
12 4
57 37
316560849 14570961

输出

1
8
4
33554432

说明

第一组测试用例
\hspace{15pt}序列 ab 的前 7 个元素为:
\hspace{23pt} \bullet  a = [1, 2, 3, 4, 5, 6, 7,\ldots]
\hspace{23pt} \bullet  b = [0, 3, 2, 5, 4, 7, 6,\ldots]
\hspace{15pt}可证明不存在正整数 k 使得序列 [k, k+1] 作为子段出现在 b 中,故答案为 1。,尾部 0 个零,最长长度 2^0=1

\hspace{15pt}第三组测试用例
\hspace{15pt}序列 ab 的前 20 个元素为:
\hspace{23pt} \bullet  a = [56, 59, 58, 61, 60, 63, 62, 49, 48, 51, 50, 53, 52, 55, 54, \textbf{41, 40, 43, 42}, 45, \ldots]
\hspace{23pt} \bullet  b = [36, 39, 38, 33, 32, 35, 34, 45, 44, 47, 46, \textbf{41, 40, 43, 42}, 53, 52, 55, 54, 49, \ldots]
\hspace{15pt}加粗部分 [41, 40, 43, 42] 是最长公共子段之一,故答案为 4

加载中...