#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long longinf = 1LL << 60;
const int mx = 200010;
const long long mod = 1e9 + 7;
const int64_t MOD = 1e9 + 7;
void add(int64_t& a, int64_t b) { a = (a + b) % MOD; }
void mul(int64_t& a, int64_t b) { a = a * b % MOD; }
vector<int64_t> fact, seq_inv, fact_inv;
void create_fact_mod(int num) {
  fact[0] = fact[1] = 1;
  for (int i = 2; i <= num; i++) fact[i] = fact[i - 1] * i % MOD;
}
void create_seq_inv_mod(int num) {
  seq_inv[0] = seq_inv[1] = 1;
  for (int i = 2; i <= num; i++)
    seq_inv[i] = (MOD - MOD / i) * seq_inv[MOD % i] % MOD;
}
void create_fact_inv_mod(int num) {
  fact_inv[0] = fact_inv[1] = 1;
  for (int i = 2; i <= num; i++)
    fact_inv[i] = fact_inv[i - 1] * seq_inv[i] % MOD;
}
void create_mod_tables(int num) {
  fact.resize(num + 1);
  seq_inv.resize(num + 1);
  fact_inv.resize(num + 1);
  create_fact_mod(num);
  create_seq_inv_mod(num);
  create_fact_inv_mod(num);
}
int64_t comb_mod(int n, int k) {
  return fact[n] * fact_inv[n - k] % MOD * fact_inv[k] % MOD;
}
int64_t perm_mod(int n, int k) { return fact[n] * fact_inv[n - k] % MOD; }
int64_t power_mod(int64_t num, int64_t power) {
  int64_t prod = 1;
  num %= MOD;
  while (power > 0) {
    if (power & 1) prod = prod * num % MOD;
    num = num * num % MOD;
    power >>= 1;
  }
  return prod;
}
int64_t extgcd(int64_t a, int64_t b, int64_t& x, int64_t& y) {
  int64_t d = a;
  if (b != 0) {
    d = extgcd(b, a % b, y, x);
    y -= (a / b) * x;
  } else {
    x = 1;
    y = 0;
  }
  return d;
}
int64_t inv_mod(int64_t a) {
  int64_t x, y;
  extgcd(a, MOD, x, y);
  return (MOD + x % MOD) % MOD;
}
int nth_bit(int64_t num, int n) { return (num >> n) & 1; }
int main() {
  int n;
  cin >> n;
  vector<int> one(60);
  for (int i = (int)(0); i < (int)(n); ++i) {
    int64_t a;
    cin >> a;
    for (int j = 0; j < 60; j++) {
      one[j] += nth_bit(a, j);
    }
  }
  int64_t ans = 0;
  for (int i = 0; i < 60; i++) {
    int64_t res = one[i] * (n - one[i]) % mod;
    mul(res, power_mod(2, i));
    add(ans, res);
  }
  cout << ans << endl;
  return 0;
}
