#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using VI = vector<int>;
using VL = vector<long long>;
using VVI = vector<VI>;
using VVL = vector<VL>;
using MII = map<int, int>;
using MIVI = map<int, VI>;
using MLL = map<LL, LL>;
int READ_INT() {
  int temp;
  cin >> temp;
  return temp;
}
LL READ_LONG() {
  LL temp;
  cin >> temp;
  return temp;
}
string READ_STRING() {
  string temp;
  cin >> temp;
  return temp;
}
const LL MOD = 998244353;
const int INF = 1e9 + 5;
const double PI = acos(-1.0);
const double EPS = 1e-9;
const int N = 300005;
VL factorial_num(N);
void calc_factorial(LL mod) {
  factorial_num[0] = 1;
  for (int i = 1; i < N; ++i)
    factorial_num[i] = (factorial_num[i - 1] * i) % mod;
}
VL num_inv(N);
void calc_inv(LL mod) {
  num_inv[0] = num_inv[1] = 1;
  for (int i = 2; i < N; ++i)
    num_inv[i] = num_inv[mod % i] * (mod - mod / i) % mod;
}
VL factorial_num_inv(N);
void calc_inv_of_factorial(LL mod) {
  factorial_num_inv[0] = factorial_num_inv[1] = 1;
  for (int i = 2; i < N; ++i)
    factorial_num_inv[i] = factorial_num_inv[i - 1] * num_inv[i] % mod;
}
LL ncr(LL n, LL r, LL mod) {
  return ((factorial_num[n] * factorial_num_inv[r]) % MOD) *
         factorial_num_inv[n - r] % mod;
}
int main() {
  ios::sync_with_stdio(false);
  calc_factorial(MOD);
  calc_inv(MOD);
  calc_inv_of_factorial(MOD);
  int n = READ_INT();
  VL arr(2 * n);
  for (int i = 0; i < 2 * n; ++i) cin >> arr[i];
  LL ct = 0;
  sort(arr.begin(), arr.end());
  for (int i = 0; i < n; ++i) ct = (ct + arr[2 * n - i - 1] - arr[i]) % MOD;
  cout << (ct * ncr(2 * n, n, MOD)) % MOD << "\n";
  return 0;
}
