Dima got into number sequences. Now he's got sequence *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub>, consisting of *n* positive integers. Also, Dima has got a function *f*(*x*), which can be defined with the following recurrence:
 -  *f*(0) = 0; -  *f*(2·*x*) = *f*(*x*); -  *f*(2·*x* + 1) = *f*(*x*) + 1. 
Dima wonders, how many pairs of indexes (*i*, *j*) (1 ≤ *i* &lt; *j* ≤ *n*) are there, such that *f*(*a*<sub class="lower-index">*i*</sub>) = *f*(*a*<sub class="lower-index">*j*</sub>). Help him, count the number of such pairs.
The first line contains integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>). The second line contains *n* positive integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).

The numbers in the lines are separated by single spaces.
def ispowerof2(num): 
    if((num & (num - 1)) == 0): 
        return 1
    return 0

def f(x):
	if x==0:
		return 0
	elif x==1:
		return 1
	elif ispowerof2(x):
		return 1	
	elif x%2==0:
		return f(x//2)
	else:
		return (f(x//2)+1)	

n = int(input())
a = list(map(int, input().split()))
count = 0
for i in range(n-1):
	for j in range(i+1,n):
		if f(a[i])==f(a[j]):
			count+=1
			# print()
	# print(f(a[i]))		
print(count)			