#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007;
int bit[300010][61];
void binary(long long int num, long long int i) {
  for (long long int j = 0; num > 0; j++) {
    bit[i][j] = num % 2;
    num = num / 2;
  }
}
long long int bitmod(long long int i) {
  if (i == 0) {
    return 1;
  }
  long long int a = 1;
  for (long long int j = 0; j < i; j++) {
    a = (a * 2) % MOD;
  }
  return a;
}
int main() {
  long long int N;
  cin >> N;
  vector<long long int> A(N);
  for (long long int i = 0; i < N; i++) {
    cin >> A[i];
  }
  for (long long int i = 0; i < N; i++) {
    for (long long int j = 0; j < 61; j++) {
      bit[i][j] = 0;
    }
  }
  for (long long int i = 0; i < N; i++) {
    for (long long int j = 0; j < 61; j++) {
      binary(A[i], i);
    }
  }
  long long int C[61];
  for (long long int i = 0; i < 61; i++) {
    C[i] = 0;
  }
  for (long long int i = 0; i < N; i++) {
    for (long long int j = 0; j < 61; j++) {
      if (bit[i][j] == 1) {
        C[j]++;
      }
    }
  }
  long long int ans = 0;
  for (long long int i = 0; i < 61; i++) {
    ans += ((C[i] % MOD) * ((N - C[i]) % MOD) * bitmod(i)) % MOD;
    ans = ans % MOD;
  }
  cout << ans % MOD << endl;
}
