6218: Dima and Sequence

内存限制:256 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

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.