[Python3] Clean O(N)/O(1) solution with explanation
Observations: \n\t1. Number of bit of A OR B and A AND B = number of bit of A + number of bit of B.\n    Proof:\n        * bit_count(A) = common + delta_a\n    
* Observations: \n\t1. Number of bit of `A OR B` and `A AND B` = number of bit of A + number of bit of B.\n    Proof:\n        * `bit_count(A) = common + delta_a`\n        * `bit_count(B) = common + delta_b`\n        * `bit_count((A OR B) + (A AND B)) = (common + delta_a + delta_b) + (common) = bit_count(A) + bit_count(B)`\n\t2. Only need to care distinct number in `nums`\n\n* Solution:\n\t* Define a counter, where `counter[i]` is number of num in `nums` such that number of bit one of num is `i`\n    * Now, just need to count the number of pair `i, j` in counter, such that `i + j >= k`\n\n<iframe src="https://leetcode.com/playground/VY8UQEh9/shared" frameBorder="0" width="700" height="450"></iframe>\n\n**Complexity analysis:**\n* Time: `O(N)`\n* Space : `O(1)`
[]