#include <bits/stdc++.h>
using namespace std;
typedef pair<long long, long long> ll;
typedef vector<long long> vl;
typedef vector<ll> vll;
long long cel(long long x, long long y) {
  if (x % y <= 1)
    return x / y;
  else
    return x / y + 1;
}
long long power(long long n, long long ii, const long long mod) {
  long long ans = 1;
  for (long long i = (0); i < (ii); i++) {
    ans = (ans * 2) % mod;
  }
  return ans;
}
void solve() {
  long long n;
  const long long mod = 1000000007;
  cin >> n;
  vl a(n, 0);
  long long ans = 0;
  for (long long i = (0); i < (n); i++) {
    cin >> a[i];
  }
  long long z = 0, o = 0;
  for (long long i = (0); i < (62); i++) {
    z = o = 0;
    for (long long j = (0); j < (n); j++) {
      if (a[j] & 1) {
        o++;
      } else {
        z++;
      }
      a[j] = a[j] >> 1;
    }
    z = z % mod;
    o = o % mod;
    long long x = power(2, i, mod) % mod;
    ans = (ans + (z * o * x) % mod) % mod;
  }
  cout << ans;
}
int main() {
  solve();
  return 0;
}
