#include <bits/stdc++.h>
using namespace std;
long long mpow(long long x, long long n) {
  long long ans = 1;
  while (n) {
    if (n & 1) ans = ans * x % 998244353;
    x = x * x % 998244353;
    n >>= 1;
  }
  return ans;
}
long long inv(long long x) { return mpow(x, 998244353 - 2); }
long long fac[310000 + 3];
long long invfac[310000 + 3];
void fac_init(int n = 310000) {
  fac[0] = 1;
  for (int i = 1; i <= n; i++) fac[i] = fac[i - 1] * i % 998244353;
  invfac[n] = inv(fac[n]);
  for (int i = n; i; i--) invfac[i - 1] = invfac[i] * i % 998244353;
}
long long getC(int n, int x) {
  return fac[n] * invfac[x] % 998244353 * invfac[n - x] % 998244353;
}
long long n;
long long a[310000];
long long sum[310000];
int main() {
  fac_init();
  cin >> n;
  for (int i = 1; i <= 2 * n; i++) {
    scanf("%lld", &a[i]);
  }
  sort(a + 1, a + 2 * n + 1);
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    ans -= a[i];
    ans += a[i + n];
  }
  ans = ans % 998244353 + 998244353;
  cout << ans % 998244353 * getC(2 * n, n) % 998244353;
  return ~~(0 ^ 0 ^ 0);
}
