#include <bits/stdc++.h>
using namespace std;
int modpow(int x, int y, int m) {
  int64_t a = x, res = 1, ans;
  if (y == 0) {
    return 1;
  }
  if (y % 2 == 1) {
    res *= x;
  }
  a = a * a % m;
  ans = modpow(a, y / 2, m) * res % m;
  return ans;
}
int main() {
  int64_t N, ans = 0;
  cin >> N;
  vector<int64_t> A(N), B(60);
  for (int i = 0; i < N; i++) {
    cin >> A.at(i);
  }
  for (int i = 0; i < N; i++) {
    int count = 0;
    while (A.at(i) > 0) {
      if (A.at(i) & 1) {
        B.at(count)++;
      }
      count++;
      A.at(i) >>= 1;
    }
  }
  for (int i = 0; i < 60; i++) {
    ans += (N - B.at(i)) * (B.at(i) * modpow(2, i, 1000000007)) % 1000000007;
    ans %= 1000000007;
  }
  cout << ans << endl;
}
