#include <bits/stdc++.h>
long long mypow(long long k, long long n) {
  long long temp = 1;
  k = k % 1000000007;
  while (n) {
    if (n % 2) temp = temp * k % 1000000007;
    k = k * k % 1000000007;
    n = n / 2;
  }
  return temp % 1000000007;
}
int main(void) {
  int n;
  long long a;
  int bit[60] = {0};
  long long ans = 0;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &a);
    for (int j = 0; a > 0; j++) {
      bit[j] += (a % 2);
      a /= 2;
    }
  }
  for (int i = 0; i < 60; i++) {
    ans = ans + (mypow(2, i) * bit[i] * (n - bit[i])) % 1000000007;
    ans %= 1000000007;
  }
  printf("%lld", ans);
  return 0;
}
