implicit none
integer(8):: n, i, ans, k
integer(8),allocatable,dimension(:):: a

ans=0
k=0
 
read (5,*) n
allocate(a(n))
read(5,*) (a(i),i=1,n)

call heapsort(n,a)
 
do i=n,1,-1
    if(mod(k,2)==0)then
        ans=ans+a(i)
    else
        ans=ans-a(i)
    endif
    k=k+1
enddo


write(6,"(i0)") ans

end
 
!---http://slpr.sakura.ne.jp/qp/sortf90/---
subroutine heapsort(n,array)
    implicit none
    integer(8),intent(in) :: n
    double precision,intent(inout) :: array(1:n)
   
    integer ::i,k,j,l
    double precision :: t
   
    if(n.le.0)then
        write(6,*)"Error, at heapsort"; stop
    endif
    if(n.eq.1)return
 
    l=n/2+1
    k=n
    do while(k.ne.1)
        if(l.gt.1)then
            l=l-1
            t=array(L)
        else
            t=array(k)
            array(k)=array(1)
            k=k-1
            if(k.eq.1) then
                array(1)=t
                exit
            endif
        endif
        i=l
        j=l+l
        do while(j.le.k)
            if(j.lt.k)then
                if(array(j).lt.array(j+1))j=j+1
            endif
            if (t.lt.array(j))then
                array(i)=array(j)
                i=j
                j=j+j
            else
                j=k+1
            endif
        enddo
        array(i)=t
    enddo
 
    return
end subroutine heapsort