#include <iostream>
#include <set>

int main()
{
    int N;
    while (std::cin >> N) {
        int val, xor_val, ans = 0;
        std::set<int> s;
        for (int i = 0; i < N; ++i) {
            scanf("%d", &val);

            //如果输入0, 则ans+1, 并重新开始计算 
            if (val == 0) {
                ++ans;
                s.clear();
            }
            //每次重新开始计算时, 第一个元素直接存储 
            else if (s.size() == 0) {
                xor_val = val;
                s.insert(xor_val);
            }
            else {
                xor_val = xor_val ^ val;
                if (s.find(xor_val) != s.end() || xor_val == 0) {
                    ++ans;
                    s.clear();
                }
                else {
                    s.insert(xor_val);
                }
            }
        }
        std::cout << ans << std::endl;
    }
    return 0;
}