#include #include using namespace std; int a[100010]; int main() { int T;scanf("%d", &T); while (T--) { int n;scanf("%d", &n); for (int i = 1;i <= n;i++) scanf("%d", &a[i]); int max1 = 0, max2 = 0, max3 = 0; for (int i = 1;i <= n-1;i++) { int cur = abs(a[i] - a[i+1]); if (cur >= max1) { max3 = max2;max2 = max1;max1 = cur; } else if (cur >= max2) { max3 = max2;max2 = cur; } else if (cur > max3) { max3 = cur; } } long long ans = 0; for (int i = 1;i <= n;i++) { if (i != 1 && i != n) { int new0 = abs(a[i+1] - a[i-1]); if (abs(a[i] - a[i-1]) == max1 && abs(a[i] - a[i+1]) == max2 || abs(a[i] - a[i-1]) == max2 && abs(a[i] - a[i+1]) == max1) {ans += max(max3, new0);continue;} if (abs(a[i] - a[i-1]) == max1 || abs(a[i] - a[i+1]) == max1) {ans += max(max2, new0);continue;} ans += max(new0, max1); } else if (i == 1) { ans += abs(a[2] - a[1]) == max1 ? max2 : max1; } else { ans += abs(a[n] - a[n-1]) == max1 ? max2 : max1; } } printf("%I64d\n", ans); } return 0; }