Задача №113726. Компания и побитовое И

Маленькая девочка Алёна гуляла по лесу и увидела компанию из \(n\) программистов. Поговорив с ними она оценила общительность каждого человека в компании целым неотрицательным числом, и записала эти значения в виде последовательности \(a_1, a_2, \ldots, a_n\), \(i\)-й элемент которой соответствует общительности \(i\)-го программиста в компании.

Алёна считает, что сила дружбы двух программистов равна побитовому И величин их общительности. Так, сила дружбы \(i\)-го и \(j\)-го программистов из данной компании будет равна \(a_i\,and\,a_j\). Сплочённостью компании девочка называется сумму силы дружбы по всем парам двух различных программистов в компании. Помогите Алёне определить сплочённость встретившейся ей компании, то есть величину \(\)\sum_{i = 1}^{n-1} \sum_{j = i + 1}^{n} a_i\,and\,a_j\(\)

Дадим определение операции побитового И, обозначаемой в данном условии задачи как \(and\). Рассмотрим записи чисел \(x\) и \(y\) в двоичной системе счисления (возможно с ведущими нулями) \(x = x_k \dots x_1 x_0\) и \(y = y_k \dots y_1 y_0\). Тогда \(z = x\,and\,y\) определяется следующим образом: \(z = z_k \dots z_1 z_0\), где \(z_i=1\), если \(x_i=1\) и \(y_i=1\), иначе \(z_i=0\). Иными словами, единицы в побитовом И чисел находятся в тех разрядах, в которых у обоих чисел находятся единицы. Например, побитовое И чисел \(14=1110_2\) и \(7=0111_2\) равняется \(6 = 0110_2\). В языках программирования C/C++/Java/Python данная операция обозначается как &, а в Pascal как and.

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

В первой строке находится число \(n\) (\(2 \leq n \leq 150\,000\)) — количество программистов в компании, встреченной Алёной.

Во второй строке находятся числа \(a_1, a_2, \ldots, a_n\) (\(0 \leq a_i \leq 10^8\)), где \(a_i\) задаёт величину дружелюбия \(i\)-го человека.

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

Выведите сплочённость встретившейся Алёне компании из \(n\) программистов.

Примечание

В тесте из условия сплочённость компании равна:

(4 and 3) + (4 and 5) + (4 and 2) + (4 and 3) + (3 and 5) + (3 and 2) + (3 and 3) + (5 and 2) + (5 and 3) + (2 and 3) = 0 + 4 + 0 + 0 + 1 + 2 + 3 + 0 + 1 + 2 = 13

Примеры
Входные данные
5
4 3 5 2 3
Выходные данные
13
Сдать: для сдачи задач необходимо войти в систему