#include <bits/stdc++.h>
using namespace std;
unsigned long long n;
unsigned long long nums[150010];
unsigned long long xors[150010];
unsigned long long ans;
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> nums[i];
    xors[i] = xors[i - 1] ^ nums[i];
  }
  for (int len = 1; len < n; len++) {
    for (int i = 1; i <= n - len; i++) {
      unsigned long long left = xors[i + len - 1] ^ xors[i - 1];
      unsigned long long right = xors[i + len] ^ xors[i];
      unsigned long long var = left ^ right;
      ans += var % 1000000007;
      ans %= 1000000007;
    }
  }
  cout << ans << '\n';
  return 0;
}
