write a go solution for Description: You are given a permutation p_0,p_1,ldots,p_n-1 of odd integers from 1 to 2n-1 and a permutation q_0,q_1,ldots,q_k-1 of integers from 0 to k-1. An array a_0,a_1,ldots,a_nk-1 of length nk is defined as follows: a_i*k+j=p_i*2^q_j for all 0<=i<n and all 0<=j<k For example, if p=[3,5,1] and q=[0,1], then a=[3,6,5,10,1,2]. Note that all arrays in the statement are zero-indexed. Note that each element of the array a is uniquely determined. Find the number of inversions in the array a. Since this number can be very large, you should find only its remainder modulo 998,244,353. An inversion in array a is a pair (i,j) (0<=i<j<nk) such that a_i>a_j. Input Format: The first line contains a single integer t (1<=t<=10^4) — the number of test cases. The first line of each test case contains two integers n and k (1<=n,k<=2*10^5) — the lengths of arrays p and q. The second line of each test case contains n distinct integers p_0,p_1,ldots,p_n-1 (1<=p_i<=2n-1, p_i is odd) — the array p. The third line of each test case contains k distinct integers q_0,q_1,ldots,q_k-1 (0<=q_i<k) — the array q. It is guaranteed that the sum of n over all test cases doesn't exceed 2*10^5 and the sum of k over all test cases doesn't exceed 2*10^5. Output Format: For each test case, output one integer: the number of inversions in array a modulo 998,244,353. Note: In the first test case, array a is equal to [3,6,5,10,1,2]. There are 9 inversions in it: (0,4), (0,5), (1,2), (1,4), (1,5), (2,4), (2,5), (3,4), (3,5). Note that these are pairs (i,j) such that i<j and a_i>a_j. In the second test case, array a is equal to [8,4,1,2,24,12,3,6,40,20,5,10]. There are 25 inversions in it. In the third test case, array a is equal to [1,2,4,8,16]. There are no inversions in it.. Output only the code with no comments, explanation, or additional text.