stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include<bits/stdc++.h>

#define ll long long

#define N 2005

#define oo 1000000000

#define zyy 1000000007

#define For(i,x,y) for(int i=x;i<=y;i++)

#define Rep(i,x,y) for(int i=x;i>=y;i--)

#define Forn(i,x,y) for(int i=x;i<y;i++)

using namespace std;

inline int read(){

	int x=0,f=0;char ch=getchar();

	for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f=1;

	for(;ch>='0'&&ch<='9';ch=getchar()) x=(x<<1)+(x<<3)+ch-48;

	return f?-x:x;

}

set<int> s;

int n;

int main(){

	n=read();

	For(i,1,n){

		int x=read();

		if(s.find(x)==s.end()) s.insert(x);

		else s.erase(x);

	}

	cout<<s.size();

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 4.994098215061918x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<map>

using namespace std;



int main()

{

	map<int, bool> mp;

	int n;

	scanf("%d",&n);

	for (int i = 0; i < n; i++)

	{

		int temp;

		scanf("%d", &temp);

		if (mp[temp])

			mp.erase(temp);

		else

			mp[temp] = true;



	}

	cout << mp.size();

	return EXIT_SUCCESS;

}

// Faster C++ solution for the same problem (measured speedup: 5.009816981927042x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include <algorithm>

#include <vector>

#include <list>

#include <climits>

#include <queue>

#include <string>

#include <map>

#include <stack>

#include <cmath>

#include <regex>

#include<ctime>

#include<set>

using namespace std;

int main()

{

ios::sync_with_stdio(false);

int n;

cin>>n;

set<int> s;

while(n--)

{

    int t;

    cin>>t;

    auto it=s.find(t);

    if(it!=s.end())

        s.erase(t);

    else

        s.insert(t);

}

cout<<s.size()<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.1149810131512465x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include <set>

using namespace std;



int main(void){

	int n;

	scanf("%d",&n);

	set<long long> ss;

	long long cnt;

	for(int i=0;i<n;i++){

		cin>>cnt;

		if(ss.find(cnt)!=ss.end()) ss.erase(cnt);

		else ss.insert(cnt);

	}

	printf("%d",ss.size());

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.027219746279666x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <cstdio>

#include <map>

using namespace std;



map<long long, bool> mp;

int main()

{

	int n, cnt = 0;

	long long id;

	scanf("%d", &n);

	for(int i = 0; i < n; i++)

	{ 

		scanf("%lld", &id);

		if (mp.find(id) == mp.end())

		{

			mp[id] = true;

			cnt++;

		}

		else

		{

			if (mp[id] == true)

			{

				mp[id] = false;

				cnt--;

			}

			else

			{

				mp[id] = true;

				cnt++;

			}

		}

	}

	printf("%d", cnt);

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 4.643728720893001x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include <cstdio>  

#include <cstring> 

#include <cmath> 

#include <string> 

#include <vector> 

#include <set>   

#include <map>

#include <queue> 

#include <stack> 

#include <algorithm> 



using namespace std;



int main(int argc,char* argv[])

{

    int N;

    map<string,int> mp;

    string str;

    scanf("%d",&N);

   

    for(int i=0;i<N;i++)

    {

        cin>>str;

        if(mp[str]==0)

          mp[str] = 1;

        else

          mp[str] = 0;

    }

    

    map<string,int>::iterator it = mp.begin();

    int cnt = 0;

    for( ;it!=mp.end();it++)

    {

    	if(it->second!=0)

    	  cnt++;

    }

    

    printf("%d",cnt);

	return 0;

}




// Faster C++ solution for the same problem (measured speedup: 5.066166080000619x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<map>

#include<cstdio>

#include<cstring>

#include<algorithm>

#include<set> 

#include<stack>

using namespace std;



map<int,int> mp;

int main(){

int n;

cin>>n;

for(int i=0;i<n;i++)

{   int temp;

    cin>>temp;

	if(mp.find(temp)==mp.end())

    mp[temp]=1;

    else if(mp[temp]==0)

    mp[temp]=1;

    else if(mp[temp]==1)

    mp[temp]=0; 

}

int count=0;

for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++)

{

	if(it->second==1)

	count++; 

}

cout<<count;

return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.0185564115017245x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

#include<set>

using namespace std;



int main(){

	int n,a,num=0;

	set<int> s;

	scanf("%d",&n);

	while(n--){

		scanf("%d",&a);

		if(s.count(a)!=0){

			s.erase(a);

			num--;

		}

		else{

			s.insert(a);

			num++;

		}

	}

	printf("%d",num);

	return 0;

	system("pause");

}

// Faster C++ solution for the same problem (measured speedup: 4.998027210789204x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include<cstdio>

#include <string>

#include <map>

#include <algorithm>

using namespace std;







int main()

{

	map<int, int> record;

	int n;

	int x;

	cin >> n;

	while (n--)

	{

		cin >> x;

		if (record[x] == 0)

			record[x] = 1;

		else

			record[x] = 0;

	}

	int k = 0;

	for (auto it : record)

	{

		if (it.second == 1)

			k++;

	}

	cout << k << endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.064290271980933x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<algorithm>

using namespace std;

int cmp(const void* a,const void* b){

	return *(const int*)a-*(const int*)b;

}

int main(){

	int n=0;

	cin>>n;

	int *a=new int[n];

    int count=0;

    int i=0;

	while(i<n){

	cin>>a[i++];

	}

	qsort(a,n,sizeof(int),cmp); 

	for(int i=0;i<n;i++){

		int temp=1;

		while(i<(n-1)&&a[i]==a[i+1]){

		   temp++;

		   i++;

	    }

		if(temp&0x01)count+=1 ;

	}

	cout<<count;

}

// Faster C++ solution for the same problem (measured speedup: 5.009602012108891x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<set>

using namespace std;

int main(){

	int n,cnt=0;

	cin>>n;

	set<int> people;

	set<int>::iterator it;

	for(int i=0;i<n;i++)

	{

		int t;

		cin>>t;

		it=people.find(t);

		if(it!=people.end())

			people.erase(it);

		else

			people.insert(t);

	}

	cout<<people.size();

    

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.050279872304915x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<cstdio>

#include<map>

using namespace std;

int main()

{

    map<int,bool>mp;

    map<int,bool>::iterator it;

    long long cnt;

    int n,id;

   scanf("%d",&n);

    {

         cnt=0;

         mp.clear();

         while(n--)

         {

             scanf("%d",&id);

             it=mp.find(id);

             if(it==mp.end())

             {

                 mp.insert(make_pair(id,true));

                 cnt++;

             }

             else

             {

                 if(it->second)

                 {

                     it->second=false;

                     cnt--;

                 }

                 else

                 {

                     it->second=true;

                     cnt++;

                 }

             }



         }

    } printf("%lld\n",cnt);

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 4.6438776154661205x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

set<int> ss;

int main()

{

    int n,num;

    scanf("%d",&n);

    for(int i = 0; i < n; ++i)

    {

        scanf("%d",&num);

        if(ss.find(num) != ss.end())

            ss.erase(num);

        else

            ss.insert(num);

    }

    cout << ss.size() << endl;

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.018268628458131x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#include<iostream>

#include<algorithm>

#include<string>

#include<map>

#include<set>

#define maxn 1005

using namespace std;

typedef long long  LL;

map<string,int>mp;

int main()

{

    int n;

    scanf("%d",&n);

    set<int>s;

    while(n--)

    {

        int t;

        scanf("%d",&t);

        if(s.count(t))

        {

            s.erase(t);

        }

        else

            s.insert(t);

    }

    cout<<s.size()<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.016920642353057x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <stdio.h>

#include <set>

using namespace std;

int main()

{

    int n,x;

    scanf("%d",&n);

    set<int> st;

    for(int i=0;i<n;i++)

    {

       scanf("%d",&x);

       if(st.count(x)==0)

            st.insert(x);

       else

        st.erase(x);

    }

    printf("%d\n",st.size());

}


// Faster C++ solution for the same problem (measured speedup: 4.641983530170228x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<cstdio>

#include<cstdlib>

#include<algorithm>

#include<cstring>

using namespace std;



const int maxn = 100010;



int main()

{

	int n;

	int a[maxn];

	memset(a, 0, sizeof(a));

	scanf("%d", &n);

	for (int i = 0; i < n; i++)

	{

		scanf("%d", &a[i]);



	}

	sort(a, a + n);

	int num = 0;

	for (int i = 0; i <=n; i++)

	{

		if (a[i] != a[i + 1])

		{

			num++;

		}

		else

			i++;

	}

	printf("%d", num);





	system("pause");

	return 0;



}

// Faster C++ solution for the same problem (measured speedup: 2.991874614280882x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<algorithm>

using namespace std;





int main() {

	int n;

	cin >> n;

	int* x=new int[n];

	int k;

	for (int i = 0; i < n; i++)cin >> x[i];

	sort(x, x + n);

	//for (int i = 0; i < n; i++)cout << x[i];

	k = x[0];

	int num = 1;

	int sum = 0;

	for (int i = 1; i < n; i++) {

		if (x[i] == k) {

			num++;

		}

		else {

			if (num % 2)sum++;

			k = x[i];

			num = 1;

		}

	}

	if (num % 2)sum++;

	cout << sum;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.003541528230981x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<stdio.h>

#include<set>

using namespace std;

int main(){

	

	set<int> s;

	int n;

	scanf("%d",&n);

	for(int i=0;i<n;i++){

		int x;

		scanf("%d",&x);

		if(s.count(x)==0)

		s.insert(x);

		else

		s.erase(x);

		}

		printf("%d\n",s.size());

		return 0;

} 

// Faster C++ solution for the same problem (measured speedup: 4.641902701303419x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<map>

using namespace std;

map<int, bool> m;

int main()

{

	int n,temp,num=0;

	cin >> n;

	for (int i = 0; i < n; i++)

	{

		cin >> temp;

		if (m[temp] == 1)

		{

			m[temp] = 0; num--;

		}

		else

		{

			m[temp] = 1; num++;

		}

	}

	cout << num;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.017088365613953x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

#include<string>

#include<vector>

#include<algorithm>

#include<set>

using namespace std;



int main()

{

	int n, number;

	cin >> n;

	set<int> s;

	for(int i = 0; i < n; i++)

	{

		cin >> number;

		if(s.count(number) == 0)

		{

			s.insert(number);

		}

		else 

		{

			s.erase(number);

		}

	}

	cout << s.size() << endl;

	

	

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.058160552328259x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int n,input,l;

set<int>total;

int main()

{

    total.clear();

    cin>>n;

    for(int i=0;i<n;i++){

            l=total.size();

        cin>>input;

        total.insert(input);

        int k=total.size();

        if(l==k){

            total.erase(input);

        }

    }

    cout<<total.size();

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.013624707455988x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

const int N = 100001;

struct str{

    long long s,g;

}f[N];

long long n,z,c;

long long a[N];

void chong()

{

    f[1].s=a[1];f[1].g=1;c=1;

    for(int i = 2;i<=n;i++)

    {

        if(a[i] != a[i-1])

        	f[++c].s=a[i],f[c].g=1;

        else f[c].g++;

    }

}

int main()

{

    cin>>n;

    for(int i=1;i<=n;i++){

		cin>>a[i];

	}

    sort(a+1,a+n+1);

    chong();

    for(int i=1;i<=c;i++){

    	if(f[i].g%2==1){

    		z++;

    	}

    }

    cout<<z<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.004395422670687x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include <algorithm>

using namespace std;



const int M = 1e5+10;

int a[M];



int main()

{

	int n;

	cin>>n;

	for(int i=0;i<n;i++)

		cin>>a[i];

	sort(a,a+n);

	int cnt=0;

	a[n] = a[0]-1;

	for(int i=0;i<n;i++)

		if(a[i] != a[i+1])

			cnt++;

		else

			i++;

	cout<<cnt<<endl;

	return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.007100002280961x):
#include<stdio.h>

#include<string.h>

#include<stdlib.h>



int cmp(const void *a,const void *b){

	return *(int *)a-*(int *)b;

}



int main(){

	int n;

	scanf("%d",&n);

	int b,res=0,a[100000];

	for(int i=0;i<n;i++){

		scanf("%d",&a[i]);

	}

	qsort(a,n,sizeof(a[0]),cmp);

	int cnt=1;

	for(int i=1;i<n;i++){

		if(a[i]!=a[i-1]){

			if(cnt%2!=0){

				res++;

			}

			cnt=1;

		}

		else{

			cnt++;

		}

	}

	if(cnt%2!=0){

		res++;

	}

	printf("%d",res);

}
// Slower C++ solution:
#include <iostream>

#include<algorithm>

using namespace std;



int *n;

int ans=0;

int N,i;



int main(){

	cin>>N;

	n=new int[N];

	for(int i=0; i<N; ++i){

		cin>>n[i];

	}



	sort(n,n+N);



	while(i<N){

		int cnt=0,next=n[i];

		while(i<N && n[i]==next){

			cnt++;

			i++;

		}

		ans+=cnt%2;

	}



	cout<<ans<<endl;

	delete[]n;

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.242496704794927x):
#include<stdio.h>

#include<algorithm>



using namespace std;



int ar[100005];



int main() {

  int n;

  scanf("%d", &n);

  for (int i = 0; i < n; i++) {

    scanf("%d", &ar[i]);

  }

  sort(ar, ar + n);

  int ans = 0;

  int j = 0;

  for (int i = 0; i < n; i++) {

    if (i && ar[i] != ar[i-1]) {

      if (j % 2) {

        ans++;

      }

      j = 0;

    }

    j++;

  }

  if (j % 2) ans++;

  printf("%d\n", ans);

  return 0;

}