#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int> a(N);
  for (int i = 0; i < N; i++) {
    cin >> a.at(i);
  }
  vector<vector<int>> b(N, vector<int>(60));
  vector<int> c(60);
  for (int i = 0; i < N; i++) {
    for (int j = 1; j < 61; j++) {
      int z = pow(2, 60 - j);
      if (a.at(i) / z == 1) {
        b.at(i).at(60 - j) = 1;
        a.at(i) -= z;
      }
    }
  }
  for (int x = 0; x < N; x++) {
    for (int y = x + 1; y < N; y++) {
      for (int j = 0; j < 60; j++) {
        if (b.at(x).at(j) != b.at(y).at(j)) {
          c.at(j)++;
        }
      }
    }
  }
  int d = 0;
  for (int i = 0; i < 60; i++) {
    d += c.at(i) * pow(2, i);
  }
  int e = (pow(10, 9) + 7);
  cout << d % e << endl;
}
