Потрійний XOR
Limits: 2 sec., 512 MiB
Вам дані два натуральні числа m<n. Яку найбільшу кількість попарно різних цілих чисел можна обрати в інтервалі [m,n] так, щоб виконувалась наступна умова:
Серед обраних чисел немає таких трьох різних чисел x,y,z, що x⊕y⊕z=0.
Нагадаємо, що ⊕ позначає
операцiю побiтового виключного АБО. Наприклад, 13⊕6=11, адже в двiйковому
записi 13= 1101
, а
6= 0110
, тому їх
⊕ має бути рiвним
1011
=11.
Input
Єдиний рядок вхідних даних містить два натуральні числа m,n.
Output
У першому рядку виведіть число k — максимальну кількість чисел, яку можна обрати, задовольняючи умову задачі.
У другому рядку виведіть k попарно різних цілих чисел a1,a2,…,ak, m≤ai≤n. Вони мають задовольняти умові задачі.
Якщо існує кілька різних способів обрати максимальну можливу кількість чисел, знайдіть будь-який.
Constraints
1≤m<n≤2⋅105.
Samples
Input (stdin) | Output (stdout) |
---|---|
1 7 | 4 1 3 5 7 |
Input (stdin) | Output (stdout) |
---|---|
2024 2025 | 2 2025 2024 |
Notes
У першому прикладі можна показати, що вибрати 5 чисел з інтервалу [1,7] таким чином не можна.
У другому прикладі серед [2024,2025] нема трьох різних чисел, тому умова виконується автоматично.