import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 총 테스트 케이스 갯수
int testCase = Integer.parseInt(br.readLine());
for (int i = 0; i < testCase; i++) {
// 각각 테스트 별로 존재하는 주식 갯수
int eachCase = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
ArrayList<Integer> temp = new ArrayList<>();
// 일별 주가 저장
for (int j = 0; j < eachCase; j++) temp.add(Integer.parseInt(st.nextToken()));
// 마지막을 최대 값으로 저장
int max = temp.get(temp.size() - 1);
// 답은 부호있는 64bit 정수형으로 표현 가능하다. -> 조건 충족시키기 위해서 int가 아니라 long이나 int64로 해야함
long res = 0L;
// 마지막보다 하나 전 인덱스부터 시작
for (int j = eachCase - 2; j >= 0; j--) {
// 최대 값보다 작으면 최대값 - 현재 값을 더하면 되고
// 아니면 최대값을 현재 값으로 바꾼다.
if (max >= temp.get(j)) res += max - temp.get(j);
else max = temp.get(j);
}
bw.write(res + "\n");
}
bw.flush();
bw.close();
br.close();
}
}