
You are given a 0-indexed positive integer array nums and a positive integer k .
A pair of numbers (num1, num2) is called excellent if the following conditions are satisfied:
Both the numbers num1 and num2 exist in the array nums .
The sum of the number of set bits in num1 OR num2 and num1 AND num2 is greater than or equal to k , where OR is the bitwise OR operation and AND is the bitwise AND operation.
Return the number of distinct excellent pairs .
Two pairs (a, b) and (c, d) are considered distinct if either a != c or b != d . For example, (1, 2) and (2, 1) are distinct.
Note that a pair (num1, num2) such that num1 == num2 can also be excellent if you have at least one occurrence of num1 in the array.
1 <= nums.length <= 10 ^51 <= nums[i] <= 10 ^91 <= k <= 60