## Description

Given an array of numbers, `A`

, find the number of 3-tuples `(i, j, k)`

indices in `A`

, where the bitwise AND is equal to `0`

. Assume the numbers in `A`

are between 0 and 2^16.

```
0 <= i < A.length
0 <= j < A.length
0 <= k < A.length
A[i] & A[j] & A[k] == 0, where & represents the bitwise-AND operator.
```

Example:

```
Input: arr = [1,2,3]
Output: 12
```

## Solution

```
import collections
def countTriplets(A):
"""
:type A: List[int]
:rtype: int
"""
cnt = collections.defaultdict(int)
for x in A:
for y in A:
cnt[x & y] += 1
res = 0
for num in A:
for key in cnt.keys():
if num & key == 0:
res += cnt[key]
return res
```