B. Дима и последовательность
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Дима увлекается последовательностями чисел. Сейчас у него есть последовательность a1, a2, ..., an, состоящая из n целых положительных чисел. А так же у Димы есть функция f(x), которую можно определить следующим рекуррентным соотношением:

  • f(0) = 0;
  • f(2·x) = f(x);
  • f(2·x + 1) = f(x) + 1.

Диму заинтересовал вопрос: сколько существует пар индексов (i, j) (1 ≤ i < j ≤ n), таких что f(ai) = f(aj). Помогите ему, посчитайте, сколько таких пар.

Входные данные

В первой строке дано целое число n (1 ≤ n ≤ 105). Во второй строке даны n целых положительных чисел a1, a2, ..., an (1 ≤ ai ≤ 109).

Числа в строках разделены одиночными пробелами.

Выходные данные

В единственную строку выведите ответ на задачу.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на C++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

Примеры
Входные данные
3
1 2 4
Выходные данные
3
Входные данные
3
5 3 1
Выходные данные
1
Примечание

В первом примере любая пара (i, j) подойдет, поэтому ответ — 3.

Во втором примере подходит только пара (1, 2).