#include <bits/stdc++.h>
using namespace std;
long int modpow(long int a, long int n, long int mod) {
  long int res = 1;
  while (n > 0) {
    if (n & 1) res = res * a % mod;
    a = (a * a) % mod;
    n >>= 1;
  }
  return res;
}
long int modcomb(long int a, long int b, long int mod) {
  long int res = 1;
  for (long int i = a; i > a - b; i--) {
    res *= i % mod;
    res %= mod;
  }
  res %= mod;
  for (long int i = 1; i <= b; i++) {
    long int i_inv = modpow(i, mod - 2, mod);
    res *= i_inv % mod;
    res %= mod;
  }
  res %= mod;
  return res;
}
int main() {
  long int mod = 1000000007;
  long int n;
  cin >> n;
  long int a[n];
  for (int i = 0; i < n; i++) cin >> a[i];
  long int num[61];
  fill(num, num + 61, 0);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < 61; j++) {
      if (((a[i] >> j) & 1) == 1) {
        num[j]++;
      }
    }
  for (int i = 0; i < 61; i++) cout << num[i] << " ";
  cout << endl;
  long int ans[61];
  fill(ans, ans + 61, 0);
  for (int i = 0; i < 61; i++) {
    long int num1 = num[i];
    long int num0 = n - num1;
    ans[i] = num0 * num1;
  }
  long int sm = 0;
  long int bin = 1;
  for (int i = 0; i < 61; i++) {
    sm += bin * ans[i];
    sm %= mod;
    bin *= 2;
    bin %= mod;
  }
  cout << sm << endl;
}
