n = int(input())
arr = []
taken = {}
for i in range(n):
    arr.append([])
    m = int(input())
    for j in range(m):
        t, x = input().split()
        t = int(t)
        x = int(x)
        arr[-1].append((t - 1, x))
        if (t - 1) not in taken:
            taken[t - 1] = (-1, -1)

dp = [0 for i in range(n)]
for i in range(len(arr)):
    if i > 0:
        dp[i] = dp[i - 1]
    for j in arr[i]:
        x, y = j
        if taken[x][0] != -1 and taken[x][1] < y:
            dp[i] = max(dp[i], dp[taken[x][0]] + y - taken[x][1])
        taken[x] = (i, y)
print(dp[n - 1])
