Chơi với toán tử
Tú Anh có 2 số nguyên không âm phân biệt là \(x\) và \(y\). Giả sử có \(2\) dãy vô hạn \(a_1, a_2, a_3, ...\) và \(b_1, b_2, b_3, ...\) Trong đó
- \(a_n = n ⊕ x\)
- \(b_n = n ⊕ y\)
Toán tử trên còn được gọi là toán tử \(XOR\). Ví dụ, với \(x = 6\), ta có \(8\) phần tử đầu tiên của dãy \(a\) là \([7, 4, 5, 2, 3, 0, 1, 14]\).
Nhiệm vụ của bạn là tìm ra độ dài của dãy con chung liên tiếp dài nhất của \(a\) và \(b\).
Input
Dòng đầu tiên chứa số nguyên dương \(t\) \((1 \le t \le 10^4)\) là số lượng bộ test. \(t\) dòng tiếp theo mỗi dòng chứa 2 số nguyên không âm \(x\) và \(y\) \((1 \le x, y \le 10^9, x ≠ y)\).
Output
Với mỗi test case, in ra độ dài của dãy con chung liên tiếp dài nhất.
Example
Sample Input
3
0 1
12 4
57 37
Sample Output
1
8
4
Giải thích: ở test thứ \(3\), có dãy \(a\) và \(b\) như sau:
\(a = [56, 59, 58, 61, 60, 63, 62, 49, 48, 51, 50, 53, 52, 55, 54, 41, 40, 43, 42, 45, …]\)
\(b = [36, 39, 38, 33, 32, 35, 34, 45, 44, 47, 46, 41, 40, 43, 42, 53, 52, 55, 54, 49, …]\) Dãy con chung dài nhất là \([41, 40, 43, 42]\) với độ dài \(4\)
Comments