#include <bits/stdc++.h>
const long long mod = 1000000007;
long long modpow(long long x, long long y, long long m) {
  if (y == 0ll) return 1ll;
  long long res = 1ll, tmp = x;
  while (y) {
    if (y & 1) res = res * tmp % m;
    tmp = tmp * tmp % m;
    y >>= 1;
  }
  return res;
}
long long pom(long long x, long long y) { return modpow(x, y, mod); }
long long n, a, b[99] = {}, ans = 0;
int main() {
  scanf("%lld", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &a);
    for (int j = 0; j <= 60; j++) {
      b[j] += (a >> j) & 1;
    }
  }
  for (int i = 0; i < 60; i++) {
    ans += pom(2, i) * b[i] * (n - b[i]);
    ans %= mod;
  }
  printf("%lld\n", ans);
  return 0;
}
