program ABC073C
    implicit none
    integer(8)::N,same_count,i
    integer(8)::result=0
    integer(8),allocatable,dimension(:)::A
    read(5,*)N
    allocate(A(N))
    read(5,*)(A(i),i=1,N)
    A=iqsort(A)

    do i=1,N
        if(i==1)then
            same_count=1
        else if(A(i)==A(i-1))then
            same_count=same_count+1
        else
            if(mod(same_count,2)==1)then
                result=result+1
            end if
            same_count=1
        end if
    end do

    if(mod(same_count,2)==1)then
        result=result+1
    end if
    
    print'(i0)',result
contains
    recursive function iqsort(ix) result(ires)
      integer(8), allocatable :: ires(:)
      integer(8), intent(in)  :: ix(:)
      integer :: k
      if (size(ix) <= 1) then 
        ires = ix
      else  
        k = ix(size(ix) / 2)
        ires = [iqsort(pack(ix, ix < k)), pack(ix, ix == k), iqsort(pack(ix, ix > k))] 
      end if
    end function iqsort
end program ABC073C