#include <bits/stdc++.h>
using namespace std;
// 数値を２進数文字列に変換
std::string to_binString(unsigned int val)
{
    if( !val )
        return std::string("0");
    std::string str;
    while( val != 0 ) {
        if( (val & 1) == 0 )  // val は偶数か？
            str.insert(str.begin(), '0');  //  偶数の場合
        else
            str.insert(str.begin(), '1');  //  奇数の場合
        val >>= 1;
    }
    return str;
}
int main(){
  int N;
  cin>>N;
  vector<long>A(N);
  for(int i=0;i<N;i++)cin>>A[i];
  int s;
  vector<long>B(N);
  for(int i=0;i<N;i++){
    stringstream A[i];
    B[i]=to_binStringA[i];
  }
  for(int i=0;i<N;i++){
    for(int j=i+1;j<N;j++){
     s+=( B[i]^B[j])%1000000007;
      s%=1000000007;
    }
  }
  cout<<s<<endl;
}
  