#include <bits/stdc++.h>
using namespace std;
long long ruijo(int x, int jo) {
  if (jo == 0) return 1;
  return ((x * ruijo(x, jo - 1)) % 1000000007);
}
int main() {
  long long num[60];
  for (int i = 0; i < 60; i++) {
    num[i] = 0;
  }
  int N;
  cin >> N;
  for (int i = 0; i < N; i++) {
    long long tmp;
    cin >> tmp;
    for (int j = 0; j < 60; j++) {
      if (tmp & (1LL << j)) num[j]++;
    }
  }
  long long ans = 0;
  for (int i = 0; i < 60; i++) {
    ans +=
        ((((num[i]) * (N - num[i])) % 1000000007) * ruijo(2, i)) % 1000000007;
  }
  cout << ans << endl;
}
