XOR-уравнение A
Задача 877
Будем использовать обозначение $x\oplus y$ для побитового XOR от $x$ и $y$.
Определим XOR-произведение $x$ и $y$, обозначаемое $x \otimes y$, аналогично умножению в столбик в двоичной системе счисления, с единственным отличием в том, что промежуточные результаты подвергаются операции XOR вместо обычного целочисленного сложения.
Например, $7 \otimes 3 = 9$, или же, в двоичной системе счисления, $111_2 \otimes 11_2 = 1001_2$:
Пусть $X(N)$ будет результатом XOR от всех значений $b$ для всех решений этого уравнения, удовлетворяющих условию $0 \le a \le b \le N$.
Известно, что $X(10)=5$.
Найдите $X(10^{18})$.