#include <bits/stdc++.h>
using namespace std;
int orSumOfPairs(int arr[], int n) {
int ans = 0;
// Iterate over each bit position (0 to 31)
for (int i = 0; i < 32; i++) {
int k1 = 0; // Count of numbers with the i-th bit set
// Count how many numbers have this bit set
for (int j = 0; j < n; j++) {
if (arr[j] & (1 << i)) {
k1++;
}
}
int k0 = n - k1; // Count of numbers without the i-th bit set
// Contribution of this bit to the OR sum
ans += ((k1 * (k1 - 1)) / 2 + k1 * k0) * (1 << i);
}
return ans;
}
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
cout << orSumOfPairs(arr, n);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgb3JTdW1PZlBhaXJzKGludCBhcnJbXSwgaW50IG4pIHsKICAgIGludCBhbnMgPSAwOwogICAgCiAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBiaXQgcG9zaXRpb24gKDAgdG8gMzEpCiAgICBmb3IgKGludCBpID0gMDsgaSA8IDMyOyBpKyspIHsKICAgICAgICBpbnQgazEgPSAwOyAgLy8gQ291bnQgb2YgbnVtYmVycyB3aXRoIHRoZSBpLXRoIGJpdCBzZXQKCiAgICAgICAgLy8gQ291bnQgaG93IG1hbnkgbnVtYmVycyBoYXZlIHRoaXMgYml0IHNldAogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKSB7CiAgICAgICAgICAgIGlmIChhcnJbal0gJiAoMSA8PCBpKSkgewogICAgICAgICAgICAgICAgazErKzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaW50IGswID0gbiAtIGsxOyAgLy8gQ291bnQgb2YgbnVtYmVycyB3aXRob3V0IHRoZSBpLXRoIGJpdCBzZXQKCiAgICAgICAgLy8gQ29udHJpYnV0aW9uIG9mIHRoaXMgYml0IHRvIHRoZSBPUiBzdW0KICAgICAgICBhbnMgKz0gKChrMSAqIChrMSAtIDEpKSAvIDIgKyBrMSAqIGswKSAqICgxIDw8IGkpOwogICAgfQogICAgCiAgICByZXR1cm4gYW5zOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBpbnQgYXJyW25dOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgfQogICAgY291dCA8PCBvclN1bU9mUGFpcnMoYXJyLCBuKTsKICAgIHJldHVybiAwOwp9Cg==