#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N;
  cin >> N;
  vector<long long> A(N);
  set<long long> setA;
  long long waru = 10e8 + 7;
  for (int i = 0; i < (int)(N); i++) {
    cin >> A[i];
    setA.insert(A[i]);
  }
  sort((A).begin(), (A).end());
  vector<long long> kaburi(N, 0);
  long long ans = 0;
  int n = 1;
  for (auto itr = A.begin(); itr != A.end(); ++itr) {
    auto ITR = A.begin();
    for (int i = 0; i < (int)(n); i++) ITR++;
    for (ITR; ITR != A.end(); ++ITR) {
      ans += (*itr ^ *ITR) % waru;
    }
    n++;
    ans %= waru;
  }
  cout << ans << endl;
}
