t = int(input())
ans = []
for i in range(t):
a = [0]
b = [0]
n = int(input())
for j in range(n):
ai, bi = map(int, input().split())
a.append(ai)
b.append(bi)
time = 0
tm = [0]
tm += [int(x) for x in input().split()]
diff = 0
for k in range(1, n + 1):
time += a[k] - b[k - 1] + tm[k]
if k != n:
time += (b[k] - a[k] + 1) // 2
if time < b[k]:
time += b[k] - time
else:
continue
ans.append(time)
for _ in range(len(ans)):
print(ans[_])
25A - IQ test | 785A - Anton and Polyhedrons |
1542B - Plus and Multiply | 306A - Candies |
1651C - Fault-tolerant Network | 870A - Search for Pretty Integers |
1174A - Ehab Fails to Be Thanos | 1169A - Circle Metro |
780C - Andryusha and Colored Balloons | 1153A - Serval and Bus |
1487C - Minimum Ties | 1136A - Nastya Is Reading a Book |
1353B - Two Arrays And Swaps | 1490E - Accidental Victory |
1335A - Candies and Two Sisters | 96B - Lucky Numbers (easy) |
1151B - Dima and a Bad XOR | 1435B - A New Technique |
1633A - Div 7 | 268A - Games |
1062B - Math | 1294C - Product of Three Numbers |
749A - Bachgold Problem | 1486B - Eastern Exhibition |
1363A - Odd Selection | 131B - Opposites Attract |
490C - Hacking Cypher | 158B - Taxi |
41C - Email address | 1373D - Maximum Sum on Even Positions |