package main
import (
"bufio"
"fmt"
"os"
)
func readInt(in *bufio.Reader) int64 {
var n int64
var c byte
for {
c, _ = in.ReadByte()
if c >= '0' && c <= '9' {
break
}
}
n = int64(c - '0')
for {
c, _ = in.ReadByte()
if c >= '0' && c <= '9' {
n = n*10 + int64(c-'0')
} else {
break
}
}
return n
}
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
t := readInt(in)
for tc := int64(0); tc < t; tc++ {
n := int(readInt(in))
x := readInt(in)
a := make([]int64, n)
var amin, amax int64
for i := 0; i < n; i++ {
a[i] = readInt(in)
if i == 0 {
amin, amax = a[i], a[i]
} else {
if a[i] < amin {
amin = a[i]
}
if a[i] > amax {
amax = a[i]
}
}
}
var score int64 = 0
for i := 0; i < n-1; i++ {
diff := a[i] - a[i+1]
if diff < 0 {
diff = -diff
}
score += diff
}
c1 := a[0] - 1
if a[n-1]-1 < c1 {
c1 = a[n-1] - 1
}
if 2*amin-2 < c1 {
c1 = 2*amin - 2
}
var cx int64 = 0
if x > amax {
cx = x - a[0]
if x-a[n-1] < cx {
cx = x - a[n-1]
}
if 2*x-2*amax < cx {
cx = 2*x - 2*amax
}
if cx < 0 {
cx = 0
}
}
fmt.Fprintln(out, score+c1+cx)
}
}