write a go solution for Description: You are given an array a of length 2n. Consider a partition of array a into two subsequences p and q of length n each (each element of array a should be in exactly one subsequence: either in p or in q). Let's sort p in non-decreasing order, and q in non-increasing order, we can denote the sorted versions by x and y, respectively. Then the cost of a partition is defined as f(p,q)=sum_i=1^n|x_i-y_i|. Find the sum of f(p,q) over all correct partitions of array a. Since the answer might be too big, print its remainder modulo 998244353. Input Format: The first line contains a single integer n (1<=n<=150,000). The second line contains 2n integers a_1,a_2,ldots,a_2n (1<=a_i<=10^9) — elements of array a. Output Format: Print one integer — the answer to the problem, modulo 998244353. Note: Two partitions of an array are considered different if the sets of indices of elements included in the subsequence p are different. In the first example, there are two correct partitions of the array a: 1. p=[1], q=[4], then x=[1], y=[4], f(p,q)=|1-4|=3; 2. p=[4], q=[1], then x=[4], y=[1], f(p,q)=|4-1|=3. In the second example, there are six valid partitions of the array a: 1. p=[2,1], q=[2,1] (elements with indices 1 and 2 in the original array are selected in the subsequence p); 2. p=[2,2], q=[1,1]; 3. p=[2,1], q=[1,2] (elements with indices 1 and 4 are selected in the subsequence p); 4. p=[1,2], q=[2,1]; 5. p=[1,1], q=[2,2]; 6. p=[2,1], q=[2,1] (elements with indices 3 and 4 are selected in the subsequence p).. Output only the code with no comments, explanation, or additional text.