#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 1;
const long long MOD = 1e9 + 7;
const double PI =
    3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799;
int main() {
  int n;
  cin >> n;
  int lis[60];
  fill(lis, lis + 60, 0);
  for (int i = 0; i < n; i++) {
    long long a;
    cin >> a;
    long long p = 1;
    for (int j = 0; j < 60; j++) {
      if (a & p) lis[j]++;
      p <<= 1;
    }
  }
  long long ans = 0;
  long long p = 1;
  for (int i = 0; i < 60; i++) {
    long long tmp = lis[i] * (n - lis[i]) % MOD;
    ans += p * tmp % MOD;
    p = p * 2 % MOD;
  }
  cout << ans % MOD << endl;
}
