//hdu1850
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<fstream>
#include<algorithm>
#include<string>
#include<stack>
#include<queue>
#include<map>
const int MAX=0xfffffff;
using namespace std;
int main( )
{
//freopen("1.txt","r",stdin);
int n;
int a[110];
while(cin>>n&&n)
{
int sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum^=a[i];
}
if(sum==0)
cout<<"0"<<endl;
else
{
int count=0;
for(int i=0;i<n;i++)
{
if((sum^a[i])<=a[i]) //(sum^a[i])=除a[i]外的数的^.要使对方变为必败态。
count++; //注意:不一定必胜态一定能取胜,必胜态的下一状态不一定是必败态
} //所以要使自己变为必败态就必须使对方的sum为0,即
cout<<count<<endl; //需要(a[i]-a)^sum=0,,,
}
}
return 0;
}
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<fstream>
#include<algorithm>
#include<string>
#include<stack>
#include<queue>
#include<map>
const int MAX=0xfffffff;
using namespace std;
int main( )
{
//freopen("1.txt","r",stdin);
int n;
int a[110];
while(cin>>n&&n)
{
int sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum^=a[i];
}
if(sum==0)
cout<<"0"<<endl;
else
{
int count=0;
for(int i=0;i<n;i++)
{
if((sum^a[i])<=a[i]) //(sum^a[i])=除a[i]外的数的^.要使对方变为必败态。
count++; //注意:不一定必胜态一定能取胜,必胜态的下一状态不一定是必败态
} //所以要使自己变为必败态就必须使对方的sum为0,即
cout<<count<<endl; //需要(a[i]-a)^sum=0,,,
}
}
return 0;
}