func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 300005;   const long long mod = 998244353;   long long fac[maxn], invfac[maxn];   int a[maxn];   long long qp(long long x, long long p, long long MOD) {     long long res = 1;     while (p) {       if (p & 1) res = res * x % MOD;       x = x * x % MOD;       p >>= 1;     }     return res;   }   void init() {     fac[0] = 1;     invfac[0] = 1;     for (int i = 1; i < maxn; i++) fac[i] = fac[i - 1] * 1ll * i % mod;     invfac[maxn - 1] = qp(fac[maxn - 1], mod - 2, mod);     for (int i = maxn - 2; i >= 1; i--)       invfac[i] = invfac[i + 1] * 1ll * (i + 1) % mod;   }   long long C(int n, int k) {     return fac[n] * invfac[n - k] % mod * invfac[k] % mod;   }   int main() {     init();     int n;     scanf( %d , &n);     for (int i = 1; i <= n + n; i++) scanf( %d , &a[i]);     sort(a + 1, a + n * 2 + 1);     long long ans = 0;     for (int i = 1; i <= n * 2; i++) {       if (i <= n) {         ans = (ans - C(n * 2, n) * a[i] % mod) % mod;       } else {         ans = (ans + C(n * 2, n) * a[i] % mod + mod) % mod;       }     }     printf( %lld n , ans);     return 0;   }   