# -*- coding: utf-8 -*-
import sys
from collections import defaultdict

N=input()
A=map(int, sys.stdin.readline().split())

mod=10**9+7
ans=0
for keta in range(60):
    C=defaultdict(lambda: 0)     #0と1の出現回数をカウント
    temp_ans=0  #2進数での各桁のxorの和
    for i,a in enumerate(A):
        a=a>>keta&1
        if i==0:
            C[a]+=1
        else:
            if a==1:
                temp_ans+=C[0]  #aが1の場合は、xorを取ったら1になるのは0なので0の出現回数をカウント
            elif a==0:
                temp_ans+=C[1]  #aが0の場合は、xorを取ったら1になるのは1なので1の出現回数をカウント
            C[a]+=1
    ans+=pow(2,keta,mod)*temp_ans
    ans%=mod
print ans