#include<stdio.h>
#include<math.h>
int XOR(int a, int b);
int main(){
    int N;
    scanf("%d",&N);
    int num[N];
    int i;
    for(i=0;i<N;i++){
        scanf("%d",num+i);
    }
    int c = 0;
    int j;
    for(i=0;i<N-1;i++){
        for(j=i+1;j<N;j++){
            c = c + XOR(num[i],num[j]); 
        }
    }
    int e = c % (pow(10,9)+7);
    printf("%d",e);
    return 0;  
}
int XOR(int a, int b){
    int k ;
    int an[60];
    int bn[60];
    for(k=0;k<60;k++){
        an[k]=2;
        bn[k]=2;
    }
    int j;
    while(a>0 && b > 0){
        an[j]=a%2;
        bn[j]=b%2;
        a = a/2;
        b = b/2;
        j = j+1;
    }
    int i =0;
    int d =0;
    while(an[i] !=2 && bn[i] !=2){
        if((an[i] ==1 && bn[i] == 0) || (an[i] == 0 && bn[i] == 1)){
            d = d + pow(2,i);
        }
    }
    return d;
}