#include <bits/stdc++.h>
using namespace std;
int i, j;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n;
  cin >> n;
  vector<long long int> v1(n), v2(n);
  long long int x;
  for (i = 0; i <= n - 1; ++i) {
    cin >> x;
    v1.push_back(x);
  }
  for (i = 0; i <= n - 1; ++i) {
    cin >> x;
    v2.push_back(x);
  }
  sort(v1.begin(), v1.end());
  sort(v2.begin(), v2.end());
  long long int ct1 = 0, ct2 = 0;
  bool c = 0;
  while (v1.size() > 0 || v2.size() > 0) {
    if (c == 0) {
      c = 1;
      if (v1.size() > 0 && v2.size() > 0) {
        if (v2[v2.size() - 1] > v1[v1.size() - 1]) {
          v2.erase(v2.begin() + v2.size() - 1);
        } else {
          ct1 += v1[v1.size() - 1];
          v1.erase(v1.begin() + v1.size() - 1);
        }
      } else if (v2.size() == 0) {
        ct1 += v1[v1.size() - 1];
        v1.erase(v1.begin() + v1.size() - 1);
      } else if (v1.size() == 0) {
        v2.erase(v2.begin() + v2.size() - 1);
      }
    } else {
      c = 0;
      if (v1.size() > 0 && v2.size() > 0) {
        if (v1[v1.size() - 1] > v2[v2.size() - 1]) {
          v1.erase(v1.begin() + v1.size() - 1);
        } else {
          ct2 += v2[v2.size() - 1];
          v2.erase(v2.begin() + v2.size() - 1);
        }
      } else if (v1.size() == 0) {
        ct2 += v2[v2.size() - 1];
        v2.erase(v2.begin() + v2.size() - 1);
      } else if (v2.size() == 0) {
        v1.erase(v1.begin() + v1.size() - 1);
      }
    }
  }
  cout << "\n" << ct1 - ct2;
  return 0;
}
