import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.Iterator; Iterator java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int data; data int cnt = 0; cnt 0 int alice = 0; alice 0 int bob = 0; bob 0 ArrayList<Integer> lists = new ArrayList<Integer>(); lists new ArrayList<Integer>() for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			lists.add(sc.nextInt());
		} {
			lists.add(sc.nextInt());
		} lists.add(sc.nextInt()) lists.add lists sc.nextInt() sc.nextInt sc Collections.sort(lists, Collections.reverseOrder()) Collections.sort Collections lists Collections.reverseOrder() Collections.reverseOrder Collections Iterator<Integer> it = lists.iterator(); it lists.iterator() lists.iterator lists while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		} it.hasNext() it.hasNext it {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		} data = it.next() data it.next() it.next it if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			} cnt % 2 == 0 cnt % 2 cnt 2 0 {
				alice = alice + data;
				cnt++;
			} alice = alice + data alice alice + data alice data cnt++ cnt {
				bob = bob + data;
				cnt++;
			} bob = bob + data bob bob + data bob data cnt++ cnt System.out.println(alice - bob) System.out.println System.out System System.out alice - bob alice bob String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	}

} Main
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int data;
		int cnt = 0;
		int alice = 0;
		int bob = 0;
		ArrayList<Integer> lists = new ArrayList<Integer>();

		//リストに追加
		//		for (int list : lists) {
		//			lists.add(sc.nextInt());
		//		}
		for (int i = 0; i < n; i++) {
			lists.add(sc.nextInt());
		}

		//ソート
		Collections.sort(lists, Collections.reverseOrder());
		//		Arrays.sort(lists, Collections.reverseOrder());

		//ソートしたものを表示
		Iterator<Integer> it = lists.iterator();
		while (it.hasNext()) {
			data = it.next();
			//			System.out.println(data);
			if (cnt % 2 == 0) {
				alice = alice + data;
				cnt++;
			} else {
				bob = bob + data;
				cnt++;
			}
		}

		System.out.println(alice - bob);
	}

}
