#include <bits/stdc++.h>
using namespace std;
const long long MOD = 998244353;
long long mpow(long long x, long long y) {
  if (!y) return 1;
  if (y & 1) return mpow(x, y - 1) * x % MOD;
  long long tmp = mpow(x, y >> 1);
  return tmp * tmp % MOD;
}
int n;
long long arr[300002];
long long fact[1000002] = {1};
long long factInverse[1000002] = {1};
long long DP[300002];
long long ans;
long long comb(long long x, long long y) {
  if (x < y) return 0;
  return fact[x] * factInverse[y] % MOD * factInverse[x - y] % MOD;
}
int main() {
  for (long long i = 1; i <= 1000000; i++) fact[i] = fact[i - 1] * i % MOD;
  factInverse[1000000] = mpow(fact[1000000], MOD - 2);
  for (long long i = 999999; i >= 0; i--)
    factInverse[i] = factInverse[i + 1] * (i + 1) % MOD;
  scanf("%d", &n);
  for (int i = 1; i <= 2 * n; i++) scanf("%lld", &arr[i]);
  sort(arr + 1, arr + n + n + 1);
  ans = 0;
  for (int i = 1; i <= n; i++) ans -= arr[i];
  for (int i = n + 1; i <= 2 * n; i++) ans += arr[i];
  ans %= MOD;
  ans *= comb(2 * n, n);
  ans %= MOD;
  printf("%lld", ans);
}
