#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long MAXN = 3 * 1e5 + 5;
long long n, ans;
long long pre[65][MAXN];
int main() {
  scanf("%lld", &n);
  for (long long i = 1; i <= n; i++) {
    long long inp;
    scanf("%lld", &inp);
    for (long long j = 0; j < 60; j++) {
      pre[j][i] = pre[j][i - 1];
      if ((1LL << j) & inp) pre[j][i]++;
    }
    if (i > 1) {
      for (long long j = 0; j < 60; j++) {
        if ((1LL << j) > inp) break;
        if ((1LL << j) & inp) {
          ans = (ans + (((1LL << j) % mod) * (i - 1 - pre[j][i - 1])) % mod) %
                mod;
        } else {
          ans = (ans + (((1LL << j) % mod) * pre[j][i - 1]) % mod) % mod;
        }
      }
    }
  }
  printf("%lld\n", ans);
}
