package main
import (
"bufio"
"io"
"os"
"strconv"
)
func main() {
input, _ := io.ReadAll(os.Stdin)
var pos int
nextInt := func() int64 {
for pos < len(input) && (input[pos] < '0' || input[pos] > '9') {
pos++
}
if pos >= len(input) {
return 0
}
var res int64
for pos < len(input) && input[pos] >= '0' && input[pos] <= '9' {
res = res*10 + int64(input[pos]-'0')
pos++
}
return res
}
T := int(nextInt())
if T == 0 {
return
}
out := bufio.NewWriter(os.Stdout)
for t := 0; t < T; t++ {
n := int(nextInt())
a := make([]int64, n)
b := make([]int64, n)
for i := 0; i < n; i++ {
a[i] = nextInt()
b[i] = nextInt()
}
var sum int64 = 0
var minExtra int64 = -1
for i := 0; i < n; i++ {
prev := i - 1
if prev < 0 {
prev = n - 1
}
var req int64 = 0
if a[i] > b[prev] {
req = a[i] - b[prev]
}
sum += req
extra := a[i] - req
if minExtra == -1 || extra < minExtra {
minExtra = extra
}
}
out.WriteString(strconv.FormatInt(sum+minExtra, 10))
out.WriteByte('\n')
}
out.Flush()
}