← Home
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()
}