DingDing 给了你一个长度为 nnn 的数组 aaa 和一个大于 111 的正整数 kkk,你可以对数组 aaa 中任何一个元素进行任意次如下操作:
其中 ⌊b⌋\lfloor b\rfloor⌊b⌋ 的意思是对于 bbb 向 000 取整,例如 ⌊73⌋=2\lfloor \frac{7}{3}\rfloor=2⌊37⌋=2,⌊−43⌋=−1\lfloor -\frac{4}{3}\rfloor=-1⌊−34⌋=−1。
他想问你,要使得数组单调不减,你最少需要使用多少次操作。
第一行,一个整数 t(1≤t≤104)t(1\le t \le 10^4)t(1≤t≤104) ,代表数据组数。
对于每组数据: 第一行,两个整数 n,k(1≤n≤2⋅105;2≤k≤109)n,k(1\le n \le 2·10^5;2\le k \le 10^9)n,k(1≤n≤2⋅105;2≤k≤109),代表数组 aaa 的长度。 第二行,一个长度为 nnn 的数组 aaa,数组中每个数字 aia_iai 满足 −109≤ai≤109-10^9\le a_i\le 10^9−109≤ai≤109。
保证在同一测试点内的 ∑n≤2⋅105\sum n\le 2·10^5∑n≤2⋅105。
对于每组数据,输出一行整数代表你使得数组单调不减的最少操作次数。
事实上,可以证明,在有限的操作次数内,一定存在一种方式,使得数组最后单调不减。
输入样例
3 5 2 -7 0 1 3 4 4 3 1 7 3 2 5 100 99 -98 101 0 -100
输出样例
0 4 6
提示 在样例第 222 组数据中对下标为 111 的数字操作 111 次,对下标为 222 的数字操作 222 次,对下标为 333 的数字操作 111 次,数组最后变成 [0,0,1,2][0,0,1,2][0,0,1,2]。