#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<int, int>;
using PL = pair<ll, ll>;
int modpow(int a, int n) {
  if (n == 0) return 1;
  if (n == 1) return a % 1000000007;
  if (n % 2) return (a * modpow(a, n - 1)) % 1000000007;
  ll t = modpow(a, n / 2);
  return (t * t) % 1000000007;
}
int main() {
  int n;
  cin >> n;
  vector<ll> a(n);
  vector<int> c(60);
  for (int i = 0; i < (n); ++i) {
    cin >> a[i];
    for (int j = 0; j < (60); ++j) {
      if (a[i] >> j & 1) {
        c[j]++;
      }
    }
  }
  ll ans = 0;
  int k = n;
  for (int i = 0; i < (n); ++i) {
    for (int j = 0; j < (60); ++j) {
      if (a[i] >> j & 1) {
        ans += modpow(2, j) * (k - c[j]);
        ans %= 1000000007;
        c[j]--;
      } else {
        ans += modpow(2, j) * c[j];
      }
    }
    k--;
  }
  cout << ans << endl;
}
