重点在排序不等式,然而我不知道!QAQ
#define mod 998244353
#define int ll
signed main()
{
int n;cin>>n;
vector<int> a(n),b(n);cin>>a>>b;
rep(i,n) a[i] *= (i+1)*(n-i);
sort(all(a)),sort(all(b),[](int x,int y){return x>y;});
ll ans=0;
rep(i,n)
{
a[i]%= mod;
b[i]%= mod;
ans=(ans+a[i]*b[i] ) %mod;
}
cout<<ans<<endl;
return 0;
}