#include  <cmath>
#include  <fstream>
#include  <iostream>
#include <algorithm>
#include <stdlib.h>
#include <string>
using namespace std;

long long int Sum_Re(long long int Result, long long int Add, int div)
{

    return (Result+Add)%div;
}

long long int SSum(long long int Add, int div)
{
    return Add%div;
}

int main(void)
{
    int tmp_i;
    int div = pow(10, 9) + 7;
    cin >> tmp_i;
    const int N = tmp_i;
    long long int A[N];
    long long int Result =0;
    for(int i=0; i<N; i++)
    {
        cin >> A[i];
    }

    for(int i=0; i<N-1; i++)
    {
        Sum = 0;
        for(int j=i+1; j<N; j++)
        {
            // Result += A[i] ^ A[j];
            Sum += SSum(A[i] ^ A[j], div);
            //Result = Sum_Re(Result, A[i] ^ A[j], div);
        }
        Result += Sum;
    }
    cout << Result%div << endl;

    return 0;
}
