20220233 - 滑道

时间限制

1000 毫秒

内存限制

128 MB

通过次数

8

提交次数

16

公园建了一个水滑道,滑道由n段拼接而成,水从第n段流向第1段。为了滑道畅通我们需要从第1段到第n段的高度为一个不下降序列。但现在滑道各段的高度并不满足这个条件。

给出现在滑道的高度,每次操作时可以让一个区间[l,r]内的滑道高度都增加1

最少需要几次操作可以让滑道形成从1n的不下降序列?

输入

第一行,一个t表示有t组数据:

每组数据共两行:

第一行,一个整数n,表示滑道的段数。

第二行,n个整数a_i,表示每段滑道现在的高度。

对于100%的数据:

1 \le t \le 100

1 \le n \le 2×10^5

0 \le a_i \le 10^9

输出

每组数据输出一行,包括一个整数,表示需要的最少操作次数。

样例

输入

3
4
5 3 2 5
5
1 2 3 5 3
3
1 1 1

输出

3
2
0