← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var t int
	fmt.Fscan(reader, &t)

	for ; t > 0; t-- {
		var n int
		fmt.Fscan(reader, &n)

		a := make([]int, n+1)
		b := make([]int, n+1)
		for i := 1; i <= n; i++ {
			fmt.Fscan(reader, &a[i], &b[i])
		}

		tm := make([]int, n+1)
		for i := 1; i <= n; i++ {
			fmt.Fscan(reader, &tm[i])
		}

		var dep int = 0
		var arr int = 0
		for i := 1; i <= n; i++ {
			arr = dep + a[i] - b[i-1] + tm[i]
			if i == n {
				break
			}
			stay := (b[i] - a[i] + 1) / 2
			dep = arr + stay
			if dep < b[i] {
				dep = b[i]
			}
		}
		fmt.Fprintln(writer, arr)
	}
}