#include <iostream>
#include <cmath>
#include <stdint.h>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <map>
#include <queue>
#include <string.h>
#include <set>
using namespace std;
 
#define int long long
 
 
int gcd(int a, int b){
	
	if(b==0){
		return a;
	}
	
	return gcd(b,a%b);
	
}
 
 int lcm(int a, int b)  
 {  
    return (a*b)/gcd(a, b);  
 }  
 
 
int f(int x){
	
	
	int res = 0;
	
	while( x%2 == 0){
		
		x/=2;
		res++;
	}
	
	return res;
	
}
 
 #define MOD 1000000007;
 
 int arr[300001];
 
int32_t main() {
 	
 	int n;
 	
 	cin >> n;
 	
 	for(int i=0; i<n; i++){	
 	
 	 	cin >> arr[i];
 	 	
	}
 	
 	int one[64];
 	int zero[64];
 	
 	for(int i=0; i<n; i++){
 		
 		int  tmp = a[i];
 		int k =0;
 		while(tmp){
 			
 			if(tmp &1){
 				
 				one[k]++;
 				
			}
 			else{
 				zero[k]++;
			}
 			
 			tmp/=2;
 			k++;
 			
		}
 		
 		for(int j=k; j<=63; j++){
 			
 			zero[j]++;
 			
		}
 		
 		
	}
 	
 	int ans = 0;
 	 for(int i=0; i<64; i++){
 	 	
 		
 		ans = ans + one[i]%MOD * zero[i]%MOD * pow(2,i) %MOD;
	  	ans %= MOD;
 	 	
	}
 	
 	cout<<ans << endl;
 	  
}
 
 
 