#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long MOD2 = 998244353;
const long long MOD3 = 1812447359;
const long long INF = 1ll << 62;
const double PI = 2 * asin(1);
void yes() { printf("yes\n"); }
void no() { printf("no\n"); }
void Yes() { printf("Yes\n"); }
void No() { printf("No\n"); }
void YES() { printf("YES\n"); }
void NO() { printf("NO\n"); }
int N;
long long A[int(3e5 + 5)];
long long Bit[62], cnt0[62], cnt1[62];
int main() {
  Bit[0] = 1;
  for (int i = 1; i < 62; i++) {
    Bit[i] = Bit[i - 1] * 2;
    Bit[i] %= MOD;
  }
  scanf("%d", &N);
  for (int i = 0; i < N; i++) {
    scanf("%lld", A + i);
    long long num = A[i];
    for (int j = 0; j < 62; j++) {
      if (num % 2 == 0)
        cnt0[j]++;
      else
        cnt1[j]++;
      num /= 2;
    }
  }
  long long ans = 0;
  for (int i = 0; i < 62; i++) {
    ans += Bit[i] * cnt0[i] * cnt1[i];
    ans %= MOD;
  }
  printf("%lld\n", ans);
  return 0;
}
