#include <bits/stdc++.h>
using namespace std;
int N;
long long b[30005][61]{0};
long long bcs[30005][61]{0};
int main() {
  cin >> N;
  long long A[N];
  for (int i = 0; i < N; i++) {
    cin >> A[i];
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < 61; j++) {
      long long t = (1LL << j);
      if ((t & A[i]) != 0) {
        b[i][j] = 1;
      }
    }
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < 61; j++) {
      bcs[i + 1][j] = bcs[i][j] + b[i][j];
    }
  }
  long long res = 0;
  long long mod = pow(10, 9) + 7;
  for (int i = 0; i < N - 1; i++) {
    for (int j = 0; j < 61; j++) {
      long long t = (1LL << j);
      long long k;
      if ((t & A[i]) != 0) {
        k = N - (i + 1) - (bcs[N][j] - bcs[i + 1][j]);
      } else {
        k = (bcs[N][j] - bcs[i + 1][j]);
      }
      t %= mod;
      res += k * t;
      res %= mod;
    }
  }
  cout << res << endl;
  return 0;
}
