#include <bits/stdc++.h>
int acs(const void *a, const void *b) { return *(int *)a - *(int *)b; }
int des(const void *a, const void *b) { return *(int *)b - *(int *)a; }
int cmp_char(const void *a, const void *b) { return *(char *)a - *(char *)b; }
int cmp_str(const void *a, const void *b) {
  return strcmp(*(const char **)a, *(const char **)b);
}
int main(void) {
  int n;
  scanf("%d", &n);
  long long int a[300001];
  for (int i = 0; i < n; i++) scanf("%lld", &a[i + 1]);
  long long int ans = 0;
  for (int i = 1; i < n; i++) {
    for (int j = i + 1; j <= n; j++) {
      ans = (ans + (a[i] + a[j]) - ((a[i] & a[j]) * 2)) % 1000000007;
    }
  }
  printf("%lld\n", ans);
  return 0;
}
