#include<bits/stdc++.h>
using namespace std;
long long n,a[1000010],p=998244353,sum1,sum2,fac[1000010],inv[1000010];
long long qpow(long long a,long long b){
long long res=1;
while(b!=0){
if(b%2==1){
res=(res*a)%p;
}
a=(a*a)%p;
b/=2;
}
return res;
}
long long read(){
char ch=getchar();
long long sgn=1,x=0;
while(ch<'0'||ch>'9'){
if(ch=='-'){
sgn=-1;
}
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<3)+(x<<1)+(ch&15);
ch=getchar();
}
return x*sgn;
}
void write(long long n,bool p){
if(n<0){
putchar('-');
n=-n;
}
if(n==0){
if(p==true){
putchar('0');
}
return;
}
write(n/10,0);
putchar(n%10+'0');
}
int main(){
fac[0]=1;
for(int i=1;i<=400000;i++){
fac[i]=fac[i-1]%p*i%p;
inv[i]=qpow(fac[i],p-2);
}
cin>>n;
for(int i=1;i<=2*n;i++){
cin>>a[i];
a[i]%=p;
}
sort(a+1,a+2*n+1);
for(int i=1;i<=n;i++){
sum1+=a[i];
sum1%=p;
}
for(int i=n+1;i<=2*n;i++){
sum2+=a[i];
sum2%=p;
}
cout<<(sum2-sum1)%p*fac[2*n]%p*inv[n]%p*inv[n]%p<<endl;
// ans=[sum(a[n+1],a[2n])-sum(a[1],a[n])]*C(2n,n);
return 0;
}
看着好对就是调不出来 求好心人帮忙
WA on 7