#include <bits/stdc++.h>
int n, i, j;
long a;
int d[60][2];
long e[60][2];
int main(void) {
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%ld", &a);
    for (j = 0; j < 60; j++) {
      if ((a & ((long)1 << j)) == 0) {
        e[j][0] += d[j][1];
        d[j][0]++;
      } else {
        e[j][1] += d[j][0];
        d[j][1]++;
      }
    }
  }
  a = 0;
  long l;
  for (j = 0; j < 60; j++) {
    l = (long)1 << j;
    l %= 1000000007;
    l *= e[j][0] + e[j][1];
    l %= 1000000007;
    a += l;
    a %= 1000000007;
  }
  printf("%ld\n", a);
}
