#P310. 逆序对

逆序对

逆序对

题目背景

逆序对问题是为大家所熟知的问题,然而今天又玩出了新花样……

题目描述

给定一个由 1,3,5,,2n11,3,5,\cdots,2n-1 组成的排列 p0,p1,,pn1p_0,p_1,\cdots,p_{n-1},一个由 0,1,,k10,1,\cdots,k-1 组成的排列 q0,q1,,qk1q_0,q_1,\cdots,q_{k-1}

定义序列 ai×k+j=pi×2qja_{i\times k + j} = p_i \times 2 ^ {q_j}

例如,如果 p=[3,5,1],q=[0,1]p = [3,5,1],q=[0,1] ,则 a=[3,6,5,10,1,2]a=[3,6,5,10,1,2]

现在,你需要回答,aa 中有多少个逆序对?答案对 998244353998244353 取模。

输入格式

第一行一个整数 tt,表示数据组数。

接下来的每一组:

第一行两个整数 nnkk

第二行,nn 个整数 p0,p1,,pn1p_0,p_1,\cdots,p_{n-1}

第三行,kk 个整数 q0,q2,,qk1q_0,q_2,\cdots,q_{k - 1}

保证所有数据组的 nn 之和与 kk 之和不超过 2×1052\times10^5

输出格式

对每一组数据,输出一行一个整数,表示 aa 中逆序对数量对 998244353998244353 取模的结果。

输入样例1

4
3 2
3 5 1
0 1
3 4
1 3 5
3 2 0 1
1 5
1
0 1 2 3 4
8 3
5 1 7 11 15 3 9 13
2 0 1

输出样例1

9
25
0
104

##输入样例2

6
50 50
75 31 51 89 93 77 55 87 65 25 49 61 27 39 21 47 53 73 19 69 63 81 23 71 1 85 67 57 5 29 95 11 91 17 45 35 13 41 79 59 9 99 37 7 15 33 43 3 83 97 
16 48 2 0 27 36 47 32 23 20 42 38 45 49 37 18 10 19 4 31 15 14 28 12 30 26 41 44 11 22 25 34 40 8 29 7 39 33 13 1 17 46 43 3 6 35 9 24 21 5 
50 50
61 17 7 47 53 11 31 5 87 59 41 81 71 39 69 43 51 85 45 3 77 57 65 67 23 1 33 55 19 89 35 93 63 21 15 97 9 99 29 73 37 27 25 75 95 79 49 83 13 91 
31 7 47 22 27 49 29 40 10 9 4 15 46 32 26 18 12 2 37 24 20 11 6 3 19 34 38 33 42 30 36 5 23 35 48 43 45 21 14 17 16 13 1 41 28 25 39 8 0 44 
50 50
17 85 61 19 3 95 31 69 33 27 53 7 89 73 15 55 71 97 67 81 21 43 77 23 45 11 87 1 9 91 5 51 37 49 41 99 79 83 29 35 57 39 63 59 13 65 93 25 75 47 
46 33 49 10 9 47 11 24 12 30 17 44 48 20 26 25 7 34 22 3 19 4 29 6 36 42 37 2 41 15 43 5 39 40 23 14 0 32 13 8 21 31 35 18 1 16 27 45 28 38 
50 50
53 59 31 11 61 57 51 19 17 5 81 79 89 93 99 9 67 97 85 83 95 71 77 47 13 7 41 25 65 3 35 33 87 91 1 39 23 43 45 69 55 27 75 15 63 73 21 49 29 37 
41 16 47 13 9 40 36 10 39 8 34 28 45 6 26 11 24 19 46 20 37 27 2 14 1 43 12 42 38 35 5 32 15 23 33 49 21 22 29 4 25 3 7 31 30 17 48 18 44 0 
50 50
63 43 15 13 29 69 35 79 57 59 47 19 3 49 1 91 67 61 45 87 37 65 5 17 41 7 77 51 89 73 9 27 93 25 81 99 71 83 11 85 95 97 33 53 23 75 31 39 55 21 
4 34 13 33 2 25 16 46 7 41 14 49 23 36 17 42 43 15 32 28 26 20 22 35 29 27 31 47 21 9 0 10 3 48 19 5 12 37 45 6 40 38 44 39 1 8 11 30 24 18 
50 50
97 47 19 65 41 89 11 77 51 21 61 43 73 69 37 9 5 33 99 95 59 63 53 31 1 25 55 93 57 27 3 91 49 87 23 29 7 45 75 71 67 79 81 15 17 83 39 85 35 13 
19 5 26 1 23 41 16 28 4 18 33 8 20 9 13 45 32 35 3 31 37 49 43 38 24 30 2 6 46 29 15 34 27 22 12 0 44 47 40 14 21 25 39 42 11 48 36 17 10 7

##输出样例2

1591250
1547128
1552146
1570364
1547252
1563568

数据范围

对于 10%10\% 的数据,n,k50n,k\leq50

对于 30%30\% 的数据,n,k500n,k\leq500

对于 60%60\% 的数据,n2105,k50n\leq2*10^5,k\leq50

对于 100%100\% 的数据,n,k2105n,k\leq2*10^5