//メモリと記述を減らしてみる
#include<bits/stdc++.h>
using namespace std;
 
int main(){
  int n,m=1e9+7;
  cin>> n;
  vector<int> one(60);
  for (int i=0; i<n; i++){
    int64_t var; cin>> var;
    bitset<60> bs(var);
    for (int j=0; j<60; j++){
      one[j]+=bs[j];
    }
  }
  int64_t ans=0;
  for (int i=0; i<60; i++){
    ans=(ans+(int64_t)pow(2,i)%m*one[i]%m*(n-one[i])%m)%m; //剰余の優先順位わかりにくい
  }
  cout<< ans << endl;
}