#include <bits/stdc++.h>
#define fi first
#define endl '\n'
#define se second
#define int long long
#define getName(x) #x
#define vi std::vector<int>
#define isz(v) (int) v.size()
#define pii std::pair<int, int>
#define all(v) v.begin(), v.end()
#define loop cerr << "here" << endl;
#define breakLoop if(TIME > 1) break;
#define TIME 1.0 * clock() / CLOCKS_PER_SEC
using namespace std;
typedef long long ll;
const int inf32 = 1e18 + 7;
template <typename T> void maximize(T &a, T b){if(a < b) a = b;}
template <typename T> void minimize(T &a, T b){if(a > b) a = b;}
int tc, n, t, f[500005][20][2][2], a[500005], dp[20][2][2];
int cost(int i, int k, bool t1, bool t2){
int x = a[i - (1 << k) + (t1 ? 1 : 2)], y = a[i - (1 << k) - (t2 ? 0 : 1)];
return abs(x - y);
}
int cost2(int i, bool t1, bool t2){return abs(a[i - (t1 ? 0 : 1)] - a[i + (t2 ? 1 : 2)]);}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
#define task "FROGQUERIES"
if (fopen(task".inp", "r")){
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
cin >> tc;
while(tc--){
cin >> n >> t;
for(int i = 1; i <= n; i++){
cin >> a[i];
f[i][1][1][1] = abs(a[i] - a[i - 1]); f[i][0][0][0] = f[i][0][1][0] = f[i][1][0][0] = inf32;
for(int k = 2; (1 << k) <= i; k++){
for(int x = 0; x < 2; x++){
for(int y = 0; y < 2; y++){
int nxt = i - (1 << (k - 1));
int res1 = f[i][k - 1][0][y] + f[nxt][k - 1][x][1] + cost(i, k - 1, 0, 1);
int res2 = f[i][k - 1][1][y] + f[nxt][k - 1][x][1] + cost(i, k - 1, 1, 1);
int res3 = f[i][k - 1][1][y] + f[nxt][k - 1][x][0] + cost(i, k - 1, 1, 0);
f[i][k][x][y] = min({res1, res2, res3});
}
}
}
}
while(t--){
int L, R;
cin >> L >> R;
int las = -1;
for(int bit = 19; bit >= 0; bit--){
if(R - (1 << bit) < L - 1) continue;
for(int x = 0; x < 2; x++){
for(int y = 0; y < 2; y++){
int res1 = las == -1 ? inf32 : f[R][bit][x][0] + dp[las][1][y] + cost2(R, 0, 1);
int res2 = las == -1 ? f[R][bit][x][1] : f[R][bit][x][1] + dp[las][1][y] + cost2(R, 1, 1);
int res3 = las == -1 ? f[R][bit][x][1] : f[R][bit][x][1] + dp[las][0][y] + cost2(R, 1, 0);
dp[bit][x][y] = min({res1, res2, res3});
}
}
las = bit; R -= (1 << bit);
}
cout << min(dp[las][1][0], dp[las][1][1]) << ' ';
}
cout << endl;
}
}
/*
Na, na, na-na-na-na-na
Đừng đóng vai anh, đừng, đừng đóng vai anh
Đừng đóng vai anh nữa, nghe mỏi tai lắm anh
Đừng đóng vai anh, đừng, đừng đóng vai anh
Mồm thì như gió bấc, làm thì chẳng ra gì
*/
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZ2V0TmFtZSh4KSAjeAojZGVmaW5lIHZpIHN0ZDo6dmVjdG9yPGludD4KI2RlZmluZSBpc3oodikgKGludCkgdi5zaXplKCkKI2RlZmluZSBwaWkgc3RkOjpwYWlyPGludCwgaW50PgojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksIHYuZW5kKCkKI2RlZmluZSBsb29wIGNlcnIgPDwgImhlcmUiIDw8IGVuZGw7CiNkZWZpbmUgYnJlYWtMb29wIGlmKFRJTUUgPiAxKSBicmVhazsKI2RlZmluZSBUSU1FIDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKY29uc3QgaW50IGluZjMyID0gMWUxOCArIDc7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBtYXhpbWl6ZShUICZhLCBUIGIpe2lmKGEgPCBiKSBhID0gYjt9CnRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIG1pbmltaXplKFQgJmEsIFQgYil7aWYoYSA+IGIpIGEgPSBiO30KaW50IHRjLCBuLCB0LCBmWzUwMDAwNV1bMjBdWzJdWzJdLCBhWzUwMDAwNV0sIGRwWzIwXVsyXVsyXTsKCmludCBjb3N0KGludCBpLCBpbnQgaywgYm9vbCB0MSwgYm9vbCB0Mil7CiAgICBpbnQgeCA9IGFbaSAtICgxIDw8IGspICsgKHQxID8gMSA6IDIpXSwgeSA9IGFbaSAtICgxIDw8IGspIC0gKHQyID8gMCA6IDEpXTsKICAgIHJldHVybiBhYnMoeCAtIHkpOwp9CmludCBjb3N0MihpbnQgaSwgYm9vbCB0MSwgYm9vbCB0Mil7cmV0dXJuIGFicyhhW2kgLSAodDEgPyAwIDogMSldIC0gYVtpICsgKHQyID8gMSA6IDIpXSk7fQoKCnNpZ25lZCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgI2RlZmluZSB0YXNrICJGUk9HUVVFUklFUyIKICAgIGlmIChmb3Blbih0YXNrIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKHRhc2siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgY2luID4+IHRjOwogICAgd2hpbGUodGMtLSl7CiAgICAgICAgY2luID4+IG4gPj4gdDsKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgICAgICBmW2ldWzFdWzFdWzFdID0gYWJzKGFbaV0gLSBhW2kgLSAxXSk7IGZbaV1bMF1bMF1bMF0gPSBmW2ldWzBdWzFdWzBdID0gZltpXVsxXVswXVswXSA9IGluZjMyOwoKICAgICAgICAgICAgZm9yKGludCBrID0gMjsgKDEgPDwgaykgPD0gaTsgaysrKXsKICAgICAgICAgICAgICAgIGZvcihpbnQgeCA9IDA7IHggPCAyOyB4KyspewogICAgICAgICAgICAgICAgICAgIGZvcihpbnQgeSA9IDA7IHkgPCAyOyB5KyspewogICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnh0ID0gaSAtICgxIDw8IChrIC0gMSkpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzMSA9IGZbaV1bayAtIDFdWzBdW3ldICsgZltueHRdW2sgLSAxXVt4XVsxXSArIGNvc3QoaSwgayAtIDEsIDAsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzMiA9IGZbaV1bayAtIDFdWzFdW3ldICsgZltueHRdW2sgLSAxXVt4XVsxXSArIGNvc3QoaSwgayAtIDEsIDEsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzMyA9IGZbaV1bayAtIDFdWzFdW3ldICsgZltueHRdW2sgLSAxXVt4XVswXSArIGNvc3QoaSwgayAtIDEsIDEsIDApOwogICAgICAgICAgICAgICAgICAgICAgICBmW2ldW2tdW3hdW3ldID0gbWluKHtyZXMxLCByZXMyLCByZXMzfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3aGlsZSh0LS0pewogICAgICAgICAgICBpbnQgTCwgUjsKICAgICAgICAgICAgY2luID4+IEwgPj4gUjsKICAgICAgICAgICAgaW50IGxhcyA9IC0xOwogICAgICAgICAgICBmb3IoaW50IGJpdCA9IDE5OyBiaXQgPj0gMDsgYml0LS0pewogICAgICAgICAgICAgICAgaWYoUiAtICgxIDw8IGJpdCkgPCBMIC0gMSkgY29udGludWU7CiAgICAgICAgICAgICAgICBmb3IoaW50IHggPSAwOyB4IDwgMjsgeCsrKXsKICAgICAgICAgICAgICAgICAgICBmb3IoaW50IHkgPSAwOyB5IDwgMjsgeSsrKXsKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczEgPSBsYXMgPT0gLTEgPyBpbmYzMiA6IGZbUl1bYml0XVt4XVswXSArIGRwW2xhc11bMV1beV0gKyBjb3N0MihSLCAwLCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczIgPSBsYXMgPT0gLTEgPyBmW1JdW2JpdF1beF1bMV0gOiBmW1JdW2JpdF1beF1bMV0gKyBkcFtsYXNdWzFdW3ldICsgY29zdDIoUiwgMSwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXMzID0gbGFzID09IC0xID8gZltSXVtiaXRdW3hdWzFdIDogZltSXVtiaXRdW3hdWzFdICsgZHBbbGFzXVswXVt5XSArIGNvc3QyKFIsIDEsIDApOwogICAgICAgICAgICAgICAgICAgICAgICBkcFtiaXRdW3hdW3ldID0gbWluKHtyZXMxLCByZXMyLCByZXMzfSk7CgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGxhcyA9IGJpdDsgUiAtPSAoMSA8PCBiaXQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgbWluKGRwW2xhc11bMV1bMF0sIGRwW2xhc11bMV1bMV0pIDw8ICcgJzsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQoKCgp9Ci8qCk5hLCBuYSwgbmEtbmEtbmEtbmEtbmEKxJDhu6tuZyDEkcOzbmcgdmFpIGFuaCwgxJHhu6tuZywgxJHhu6tuZyDEkcOzbmcgdmFpIGFuaArEkOG7q25nIMSRw7NuZyB2YWkgYW5oIG7hu69hLCBuZ2hlIG3hu49pIHRhaSBs4bqvbSBhbmgKxJDhu6tuZyDEkcOzbmcgdmFpIGFuaCwgxJHhu6tuZywgxJHhu6tuZyDEkcOzbmcgdmFpIGFuaApN4buTbSB0aMOsIG5oxrAgZ2nDsyBi4bqlYywgbMOgbSB0aMOsIGNo4bqzbmcgcmEgZ8OsCiovCg==