#include <bits/stdc++.h>
using namespace std;
long long INF = LLONG_MAX;
int const mxn = 3e5 + 5;
long long a[mxn];
void multi(long long &a, long long b) {
  a %= 1000000007;
  b %= 1000000007;
  a *= b;
  a %= 1000000007;
  return;
}
void add(long long &a, long long b) {
  a %= 1000000007;
  b %= 1000000007;
  a += b;
  a %= 1000000007;
  return;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  map<int, pair<int, int> > mp;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    for (int j = 60; j >= 0; j--) {
      if (a[i] & (1LL << j))
        mp[j].second++;
      else
        mp[j].first++;
    }
  }
  long long ans = 0;
  for (int j = 60; j >= 0; j--) {
    long long cur = (1LL << j) % 1000000007;
    multi(cur, mp[j].first * mp[j].second);
    add(ans, cur);
  }
  cout << ans << endl;
}
