#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 5;
int a[N];
const int mod = 998244353;
long long up[N], down[N];
long long fast(long long x, long long y) {
  long long ans = 1;
  while (y) {
    if (y % 2) ans = ans * x % mod;
    x = x * x % mod;
    y /= 2;
  }
  return ans;
}
int n;
void init() {
  up[0] = 1;
  for (int i = 1; i <= 2 * n; i++) {
    up[i] = up[i - 1] * i % mod;
  }
  down[2 * n] = fast(up[n * 2], mod - 2);
  for (int i = n * 2 - 1; i >= 0; i--) down[i] = down[i + 1] * (i + 1) % mod;
}
long long f(long long x, long long y) {
  return up[x] * down[x - y] % mod * down[y] % mod;
}
int main() {
  cin >> n;
  init();
  for (int i = 1; i <= n * 2; i++) cin >> a[i];
  sort(a + 1, a + n * 2 + 1);
  long long ans = 0;
  for (int i = n + 1; i <= n * 2; i++) {
    ans = (ans + a[i]) % mod;
  }
  for (int i = 1; i <= n; i++) {
    ans = (ans - a[i] + mod) % mod;
  }
  long long t = 0;
  for (int i = n + 1; i <= n * 2; i++) {
    t = (t + f(i - 2, i - n - 1)) % mod;
  }
  t = t * 2 % mod;
  ans = ans * t % mod;
  cout << ans;
}
