//editor: Jan Tang //problem: #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define set0(a) memset(a,0,sizeof(a)); #define CIN(a,n) for(int i=1;i<=n;i++) cin>>a[i]; typedef long long ll; typedef unsigned long long ull; const int Mod = 1e9+7; const int maxn = 100005; const int inf = 0x3f3f3f3f; int m,n, a[maxn], b[maxn], pre[maxn], aft[maxn]; /*==============================head==========================*/ int main(){ int T; cin >> T; while(T -- > 0){ scanf("%d", &n); set0(b);set0(pre);set0(aft);set0(a); int tmp = 0, maxn = -1; for(int i =1; i <=n; i++){ scanf("%d", &a[i]); if(i >= 2) b[i-1] = abs(a[i] - a[i-1]); } for(int i = 2; i<= n ; i++){ pre[i] = max(b[i-1], pre[i-1]); } for(int i = n-1; i >=1; i--){ aft[i] = max(b[i], aft[i+1]); } ll ans = 0; for(int i = 1;i <=n; i++){ // cout<= 2 && i <= n-1) ans += max( max(aft[i+1], pre[i-1]), abs(a[i+1]-a[i-1])); else ans += max(aft[i+1], pre[i-1]); } printf("%lld\n",ans); } return 0; }