#include <bits/stdc++.h>
using namespace std;
long long v[500000][100];
void chg_bit(int idx, long long tmp) {
  for (int i = 0;; i++) {
    if (tmp >> i <= 0) break;
    v[idx][i] = (tmp >> i) & 1;
  }
}
int main() {
  int t;
  while (cin >> t) {
    memset(v, 0, sizeof(v));
    for (int i = 0; i < t; i++) {
      long long tmp;
      cin >> tmp;
      chg_bit(i, tmp);
    }
    long long ans = 0;
    for (int k = 0; k < 100; k++) {
      for (int i = 0; i < t; i++) {
        for (int j = i + 1; j < t; j++) {
          if (v[i][k] != v[j][k]) {
            ans += 1 << k;
          }
        }
      }
    }
    cout << ans % 1000000007 << '\n';
  }
  return 0;
}
