#include <stdio.h>
 
long long int xor(long long int a, long long int b) {
  long int i = 0;
  long long int res = 0;
  long long int x = 1;
  while(1) {
    if(a%2 != b%2) {
      res += x;
    }
    a /= 2;
    b /= 2;
    x *= 2;
    if(a == 0 && b == 0) break;
  }
  
  return res;
}
 
int main() {
 
  long int i,j,n;
  scanf("%ld", &n);
  long long int *as = malloc(sizeof(long long int) * n);
  for(i = 0; i < n; i++) scanf("%lld", &as[i]);
  
  long long int sum = 0;
  const long long int Y = 1000000007;
 
  for(i = 0; i < n; i++) 
    for(j = i+1; j < n; j++) 
      sum += xor(as[i], as[j]) % Y;  
  
  printf("%lld", sum % Y);
    
  return 0;
}