/* 每一堆的数值与ans相异或,所得的结果就是这一堆可以取的数量。 但是,如要这一堆数量没有这么多,就不可以这么取 异或运算本身就是互逆运算 */ #include <iostream> using namespace std; int value[101]; int main (){ int n,sum,count,i; while (cin>>n && n){ sum=0; for (i=0;i<n;i++){ cin>>value[i]; sum^=value[i]; } count=0; for (i=0;i<n;i++){ sum^=value[i]; if (value[i]>sum) count++; sum^=value[i]; } cout<<count<<endl; } return 0; }