#include <bits/stdc++.h>
using namespace std;
using vll = vector<long long>;
const long long mod = 1e9 + 7;
long long Pow(long long a, long long b) {
  long long res = 1ll;
  a %= mod;
  while (b) {
    if (b & 1) res = (1ll * res * a) % (1ll * mod);
    a = (1ll * a * a) % (1ll * mod);
    b >>= 1ll;
  }
  return 1ll * res % mod;
}
int main() {
  int N;
  cin >> N;
  vector<long long> A(N);
  for (int i = 0; i < (int)(N); i++) cin >> A[i];
  vector<int> d0(60), d1(60);
  long long ans = 0;
  for (int i = 0; i < (int)(N); i++) {
    bitset<60> a(A[i]);
    for (int j = 0; j < (int)(60); j++) {
      d0[j] += (a[j] == 0);
      d1[j] += (a[j] == 1);
    }
  }
  for (int i = 0; i < (int)(60); i++) {
    ans += Pow(2, i) * d0[i] * d1[i] % mod;
    ans %= mod;
  }
  cout << ans << endl;
}
