#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll M=998244353;
const int N=1e6;
ll fact[N+2];
ll fast_pow(ll a,ll b){
if(b==0)
return 1;
ll p=fast_pow(a,b/2);
p=p*p%M;
if(b&1)
p=p*a%M;
return p;
}
void init(){
fact[0]=1;
for(int i=1;i<=N;i++){
fact[i]=fact[i-1]*i%M;
}
}
ll nCr(ll n,ll r){
return fact[n]*fast_pow(fact[r],M-2)%M*fast_pow(fact[n-r],M-2)%M;
}
int main(){
init();
int n;
cin>>n;
ll a[2*n+2];
for(int i=0;i<2*n;i++){
cin>>a[i];
}
sort(a,a+2*n);
ll cost=0;
for(int i=0;i<n;i++)
cost-=a[i];
for(int i=n;i<2*n;i++)
cost+=a[i];
cost=cost%M;
cout<<cost*nCr(2*n,n)%M<<endl;
}
1605B - Reverse Sort | 1607C - Minimum Extraction |
1604B - XOR Specia-LIS-t | 1606B - Update Files |
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |