#include <bits/stdc++.h>
using namespace std;
long long INF = LLONG_MAX;
int const mxn = 3e5 + 5;
long long a[mxn];
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 i = 0; i < n; i++) {
    for (int j = 64; j >= 0; j--) {
      if (a[i] >> j & 1)
        mp[j].second++;
      else
        mp[j].first++;
    }
  }
  long long ans = 0;
  long long two = 1;
  for (int j = 0; j <= 64; j++) {
    add(ans, two * mp[j].first * mp[j].second);
    two *= 2;
    two %= 1000000007;
  }
  cout << ans << endl;
}
