Problem3565--Dima and Sequence

3565: Dima and Sequence

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Dima got into number sequences. Now he's got sequence a1,a2,...,an, 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<jn) are there, such that f(ai)=f(aj). Help him, count the number of such pairs.

Input

The first line contains integer n (1≤n≤105). The second line contains n positive integers a1,a2,...,an (1≤ai≤109).

The numbers in the lines are separated by single spaces.

Output

In a single line print the answer to the problem.

Please, don't use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

Examples
Input
3
1 2 4
Output
3
Input
3
5 3 1
Output
1
Note

In the first sample any pair (i,j) will do, so the answer is 3.

In the second sample only pair (1,2) will do.

Source/Category