package main
import (
"bufio"
"fmt"
"os"
)
func max(a, b int) int {
if a > b {
return a
}
return b
}
func min(a, b int) int {
if a < b {
return a
}
return b
}
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var l, r, L, R int
fmt.Fscan(in, &l, &r)
fmt.Fscan(in, &L, &R)
a := max(l, L)
b := min(r, R)
if a > b {
fmt.Fprintln(out, 1)
continue
}
ans := b - a
if l != L {
ans++
}
if r != R {
ans++
}
fmt.Fprintln(out, ans)
}
}