/**************************************************************
Problem: 2091
User: zrts
Language: C++
Result: Accepted
Time:892 ms
Memory:12524 kb
****************************************************************/
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
//by zrt
//problem:
using namespace std;
typedef long long ll;
const double eps(1e-10);
int a[1000005],n;
int read(){
static char x;
static int num;
while(x=getchar(),x<'0'||x>'9');
num=x-'0';
while(x=getchar(),x>='0'&&x<='9') num*=10,num+=x-'0';
return num;
}
long long dp[1000005];
int main(){
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
n=read();
for(int i=1;i<=n;i++) a[i]=read();
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
dp[i]=max(a[i]-dp[i-1],dp[i-1]);
}
printf("%d\n",dp[n]);
return 0;
}