#include <bits/stdc++.h>
using namespace std;
long long int inf = 1e18;
const long long int N = 4e5 + 5;
long long int mod = 1e9 + 7 - 998244353 + 998244353;
long long int modularExponentiation(long long int x, long long int n,
                                    long long int mod) {
  if (n == 0)
    return 1;
  else if (n % 2 == 0)
    return modularExponentiation((x * x) % mod, n / 2, mod);
  else
    return (x * modularExponentiation((x * x) % mod, (n - 1) / 2, mod)) % mod;
}
long long int arr[N];
long long int sumXOR(long long int n) {
  long long int sum = 0;
  for (long long int i = 0; i < 64; i++) {
    long long int zc = 0, oc = 0;
    long long int idsum = 0;
    for (long long int j = 0; j < n; j++) {
      if (arr[j] % 2 == 0)
        zc++;
      else
        oc++;
      arr[j] /= 2;
    }
    idsum = (((oc) % mod) * ((zc) % mod) * (modularExponentiation(2, i, mod)) %
             mod) %
            mod;
    sum = (sum + idsum) % mod;
  }
  return sum % mod;
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int tt = 1;
  while (tt--) {
    long long int n;
    cin >> n;
    for (long long int i = 0; i < n; i++) cin >> arr[i];
    long long int ans = sumXOR(n);
    cout << ans % mod << '\n';
  }
  return 0;
}
