#include #include #include #include #define N 500005 using namespace std; typedef long long ll; ll ans; ll cas,i,n,a[N],tr[N]; void build(ll l,ll r,ll p) { if (l==r) { tr[p]=abs(a[l+1]-a[l]); return; } ll mid=(l+r)/2; build(l,mid,p*2); build(mid+1,r,p*2+1); tr[p]=max(tr[p*2],tr[p*2+1]); } ll ask(ll l,ll r,ll x,ll y,ll p) { if (x>y)return 0; //printf("%I64d %I64d %I64d %I64d %I64d\n",l,r,x,y,p); if (l==x && r==y)return tr[p]; ll mid=(l+r)/2; if (y<=mid)return ask(l,mid,x,y,p*2);else if (x>mid) return ask(mid+1,r,x,y,p*2+1);else return max(ask(l,mid,x,mid,p*2),ask(mid+1,r,mid+1,y,p*2+1)); } int main() { scanf("%I64d",&cas); while (cas--) { scanf("%I64d",&n); for (i=1;i<=n;i++)scanf("%I64d",&a[i]); for (i=1;i<=n*4;i++)tr[i]=0; build(1,n-1,1); ans=0; ans=ask(1,n-1,2,n-1,1); ans+=ask(1,n-1,1,n-2,1); for (i=2;i