Потрійний XOR
Limits: 2 sec., 512 MiB
Вам дані два натуральні числа \(m<n\). Яку найбільшу кількість попарно різних цілих чисел можна обрати в інтервалі \([m, n]\) так, щоб виконувалась наступна умова:
Серед обраних чисел немає таких трьох різних чисел \(x, y, z\), що \(x \oplus y \oplus z = 0\).
Нагадаємо, що \(\oplus\) позначає
операцiю побiтового виключного АБО. Наприклад, \(13 \oplus 6 = 11\), адже в двiйковому
записi \(13 =\) 1101
, а
\(6 =\) 0110
, тому їх
\(\oplus\) має бути рiвним
1011
\(= 11\).
Input
Єдиний рядок вхідних даних містить два натуральні числа \(m, n\).
Output
У першому рядку виведіть число \(k\) — максимальну кількість чисел, яку можна обрати, задовольняючи умову задачі.
У другому рядку виведіть \(k\) попарно різних цілих чисел \(a_1, a_2, \ldots, a_k\), \(m \leq a_i \leq n\). Вони мають задовольняти умові задачі.
Якщо існує кілька різних способів обрати максимальну можливу кількість чисел, знайдіть будь-який.
Constraints
\(1 \leq m < n \leq 2\cdot 10^5\).
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]\) нема трьох різних чисел, тому умова виконується автоматично.
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|