Похищение века

Рассмотрим какую-то пару $$$(a_i, b_i)$$$, тогда $$$$$$ a_i \oplus b_j = k \\ a_j \oplus b_i = m$$$$$$ Но это то же самое, что $$$$$$ b_j = k \oplus a_i \\ a_j = m \oplus b_i $$$$$$

То есть достаточно хранить пары словарь из пар $$$(a_i \oplus k, b_i \oplus m)$$$, и ответом будет для каждого $$$j$$$ количество пар $$$(a_i \oplus k, b_i \oplus m)$$$, которые подходят. Иными словами

$$$$$$ ans = \sum_{j=1}^n dict[(a_j, b_j)] $$$$$$ Асимптотика решения $$$\mathcal{O}(n)$$$