func_code_string: #include <bits/stdc++.h>   using namespace std;   long long a[5000007], b[5000007];   long long mod = 1e9 + 7;   unsigned long long power(unsigned long long x, long long y, long long p) {     unsigned long long res = 1;     x = x % p;     while (y > 0) {       if (y & 1) res = (res * x) % p;       y = y >> 1;       x = (x * x) % p;     }     return res;   }   unsigned long long modInverse(unsigned long long n, long long p) {     return power(n, p - 2, p);   }   unsigned long long nCrModPFermat(unsigned long long n, long long r,                                    long long p) {     if (n < r) return 0;     if (r == 0) return 1;     unsigned long long fac[n + 1];     fac[0] = 1;     for (long long i = 1; i <= n; i++) fac[i] = (fac[i - 1] * i) % p;     return (fac[n] * modInverse(fac[r], p) % p * modInverse(fac[n - r], p) % p) %            p;   }   int32_t main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t = 1;     while (t--) {       long long i, j, k, l, ans = 0, count = 0, n, m, x, y;       bool flag = 0;       string s;       long long maxa = -1000000000000000, mina = 1000000000000000;       cin >> n;       for (i = 0; i < 2 * n; i++) cin >> a[i];       sort(a, a + 2 * n);       for (i = 0; i < n; i++) ans -= a[i];       for (i = n; i < 2 * n; i++) ans += a[i];       cout << ((ans % 998244353) * (nCrModPFermat(2 * n, n, 998244353))) %                   998244353            <<   n ;     }   }   