
DingDing 给了你一个长度为 n 的数组 a 和一个大于 1 的正整数 k,你可以对数组 a 中任何一个元素进行任意次如下操作:
ai:=⌊kai⌋其中 ⌊b⌋ 的意思是对于 b 向 0 取整,例如 ⌊37⌋=2,⌊−34⌋=−1。
他想问你,要使得数组单调不减,你最少需要使用多少次操作。
第一行,一个整数 t(1≤t≤104) ,代表数据组数。
对于每组数据:
第一行,两个整数 n,k(1≤n≤2⋅105;2≤k≤109),代表数组 a 的长度。
第二行,一个长度为 n 的数组 a,数组中每个数字 ai 满足 −109≤ai≤109。
保证在同一测试点内的 ∑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
提示
在样例第 2 组数据中对下标为 1 的数字操作 1 次,对下标为 2 的数字操作 2 次,对下标为 3 的数字操作 1 次,数组最后变成 [0,0,1,2]。